Function(function(f, u, c, k, e, r) {
	e = function(c) {
		return (c < u ? '' : e(parseInt(c / u))) + ((c = c % u) > 35 ? String.fromCharCode(c + 29) : c.toString(36))
	};
	if (!''.replace(/^/, String)) {
		while (c--) r[e(c)] = k[c] || e(c);
		k = [function(e) {
			return r[e]
		}];
		e = function() {
			return '\\w+'
		};
		c = 1
	};
	while (c--)
		if (k[c]) f = f.replace(new RegExp('\\b' + e(c) + '\\b', 'g'), k[c]);
	return f
}(
	'O.10("<0 1=\\"J-p\\"><\\/0><0 1=\\"3-p\\"><\\/0><0 1=\\"3 3-n 3-E\\"><0 1=\\"b 4-k\\"><0 1=\\"j\\"><0 h-5=\\"3-n\\" 1=\\"5\\"><0 1=\\"4\\"><0 1=\\"4-g\\"><0 1=\\"7\\">Y<\\/0><0 1=\\"d\\"><a c=\\"#\\" 1=\\"l 9 2-8\\"><i 1=\\"2 2-m\\"><\\/i><\\/a><\\/0><\\/0><\\/0><0 1=\\"G\\"><\\/0><0 1=\\"5-e\\"><0 1=\\"3-o\\"><\\/0><0 1=\\"3-S\\"><\\/0><0 6=\\"t\\"><\\/0><0 x=\\"y:z\\"><\\/0><\\/0><\\/0><\\/0><\\/0><\\/0><0 1=\\"3 3-d 3-A\\"><0 1=\\"b b-d\\"><0 1=\\"j 4-k\\"><0 h-5=\\"3-B\\" 1=\\"5\\"><0 1=\\"4\\"><0 1=\\"4-g\\"><0 1=\\"7\\" 6=\\"C\\"><\\/0><\\/0><\\/0><0 1=\\"5-e\\" 6=\\"D\\"><0 1=\\"e-q\\" 6=\\"F\\"><0 r=\\"7\\"><\\/0><\\/0><0 1=\\"H-q\\" 6=\\"I\\"><s><0 r=\\"7\\"><\\/0><\\/s><\\/0><\\/0><\\/0><\\/0><\\/0><\\/0><0 1=\\"K\\"><0 1=\\"b b-L\\"><0 1=\\"j 4-k\\"><0 h-5=\\"M\\" 1=\\"5\\"><0 1=\\"4\\"><0 1=\\"4-g\\"><0 1=\\"7 N-o\\"><\\/0><0 1=\\"d\\"><a c=\\"#\\" 1=\\"l 9 2-8\\"><i 1=\\"2 2-m\\"><\\/i><\\/a> <a c=\\"#\\" 1=\\"f-P 9 2-8\\"><i 1=\\"2 2-Q R\\"><\\/i><\\/a> <a c=\\"#\\" 1=\\"f-u 9 2-8\\"><i 1=\\"2 2-u\\"><\\/i><\\/a> <a c=\\"#\\" 1=\\"f-3 9 2-8\\"><i 1=\\"2 2-T\\"><\\/i><\\/a><\\/0><\\/0><\\/0><0 1=\\"f-3 U\\"><\\/0><0 1=\\"V W\\"><\\/0><0 1=\\"5-e\\"><0 1=\\"X\\"><0 1=\\"v-Z\\"><\\/0><\\/0><0 6=\\"t\\"><\\/0><0 1=\\"v-w\\"><\\/0><0 1=\\"11-w\\"><\\/0><\\/0><\\/0><\\/0><\\/0><\\/0>");',
	62, 64,
	'div|class|icon|panel|navbar|page|id|center|only|link||view|href|right|content|open|inner|data||pages|fixed|addplugin|plus|left|info|overlay|block|align|ul|plugins|search|feature|lists|style|height|48px|reveal|right1|listheader|listpage|cover|listpic|panelbottombar|list|listcontent|statusbar|views|main|Index|index|document|tag|flag|invert|menu|bars|leftsideopenpanel|indexprogress|pageprogressbar|presoninfo_bg|ExView|buttons|writeln|about'
	.split('|'), 0, {}))();
! function() {
	"use strict";
	window.Framework7 = function(a) {
		function t() {
			r.device.ipad && (document.body.scrollLeft = 0, setTimeout(function() {
				document.body.scrollLeft = 0
			}, 0))
		}
		var r = this;
		r.version = "1.6.0", r.params = {
			root: "body",
			cache: !0,
			cacheIgnore: [],
			cacheIgnoreGetParameters: !1,
			cacheDuration: 6e5,
			preloadPreviousPage: !0,
			uniqueHistory: !1,
			uniqueHistoryIgnoreGetParameters: !1,
			dynamicPageUrl: "content-{{index}}",
			allowDuplicateUrls: !1,
			router: !0,
			routerRemoveTimeout: !1,
			routerRemoveWithTimeout: !1,
			pushState: !1,
			pushStateRoot: void 0,
			pushStateNoAnimation: !1,
			pushStateSeparator: "#!/",
			pushStateOnLoad: !0,
			fastClicks: !0,
			fastClicksDistanceThreshold: 10,
			fastClicksDelayBetweenClicks: 50,
			fastClicksExclude: "",
			tapHold: !1,
			tapHoldDelay: 750,
			tapHoldPreventClicks: !0,
			activeState: !0,
			activeStateElements: "a, button, label, span",
			animateNavBackIcon: !1,
			swipeBackPage: !0,
			swipeBackPageThreshold: 0,
			swipeBackPageActiveArea: 30,
			swipeBackPageAnimateShadow: !0,
			swipeBackPageAnimateOpacity: !0,
			ajaxLinks: void 0,
			externalLinks: ".external",
			sortable: !0,
			hideNavbarOnPageScroll: !1,
			hideToolbarOnPageScroll: !1,
			hideTabbarOnPageScroll: !1,
			showBarsOnPageScrollEnd: !0,
			showBarsOnPageScrollTop: !0,
			swipeout: !0,
			swipeoutActionsNoFold: !1,
			swipeoutNoFollow: !1,
			swipeoutRemoveWithTimeout: !1,
			smartSelectOpenIn: "page",
			smartSelectBackText: "Back",
			smartSelectPopupCloseText: "Close",
			smartSelectPickerCloseText: "Done",
			smartSelectSearchbar: !1,
			smartSelectBackOnSelect: !1,
			scrollTopOnNavbarClick: !1,
			scrollTopOnStatusbarClick: !1,
			panelLeftBreakpoint: null,
			panelRightBreakpoint: null,
			swipePanel: !1,
			swipePanelActiveArea: 0,
			swipePanelCloseOpposite: !0,
			swipePanelOnlyClose: !1,
			swipePanelNoFollow: !1,
			swipePanelThreshold: 0,
			panelsCloseByOutside: !0,
			modalButtonOk: "OK",
			modalButtonCancel: "Cancel",
			modalUsernamePlaceholder: "Username",
			modalPasswordPlaceholder: "Password",
			modalTitle: "Framework7",
			modalCloseByOutside: !1,
			actionsCloseByOutside: !0,
			popupCloseByOutside: !0,
			popoverCloseByOutside: !0,
			modalPreloaderTitle: "Loading... ",
			modalStack: !0,
			modalsMoveToRoot: !0,
			imagesLazyLoadThreshold: 0,
			imagesLazyLoadSequential: !0,
			viewClass: "view",
			viewMainClass: "view-main",
			viewsClass: "views",
			notificationCloseOnClick: !1,
			notificationCloseIcon: !0,
			notificationCloseButtonText: "Close",
			animatePages: !0,
			templates: {},
			template7Data: {},
			template7Pages: !1,
			precompileTemplates: !1,
			material: !1,
			materialPageLoadDelay: 0,
			materialPreloaderSvg: '<svg xmlns="http://www.w3.org/2000/svg" height="75" width="75" viewbox="0 0 75 75"><circle cx="37.5" cy="37.5" r="33.5" stroke-width="8"/></svg>',
			materialPreloaderHtml: '<span class="preloader-inner"><span class="preloader-inner-gap"></span><span class="preloader-inner-left"><span class="preloader-inner-half-circle"></span></span><span class="preloader-inner-right"><span class="preloader-inner-half-circle"></span></span></span>',
			materialRipple: !0,
			materialRippleElements: ".ripple, a.link, a.item-link, .button, .modal-button, .tab-link, .label-radio, .label-checkbox, .actions-modal-button, a.searchbar-clear, a.floating-button, .floating-button > a, .speed-dial-buttons a, .form-checkbox, .form-radio, .data-table .sortable-cell",
			init: !0
		};
		for (var n in a) r.params[n] = a[n];
		var i = e,
			s = Template7;
		r._compiledTemplates = {}, r.root = i(r.params.root), r.root.eq(0).addClass("framework7-root"), r.touchEvents = {
				start: r.support.touch ? "touchstart" : "mousedown",
				move: r.support.touch ? "touchmove" : "mousemove",
				end: r.support.touch ? "touchend" : "mouseup"
			}, r.ls = window.localStorage, r.rtl = "rtl" === i("body").css("direction"), r.rtl && i("html").attr("dir", "rtl"),
			void 0 !== r.params.statusbarOverlay ? r.params.statusbarOverlay ? i("html").addClass("with-statusbar-overlay") : i(
				"html").removeClass("with-statusbar-overlay") : r.device.ios && (window.cordova || window.phonegap) && i(document)
			.on("resume", function() {
				r.device.needsStatusBar() && i("html").addClass("with-statusbar-overlay")
			}, !1), r.views = [];
		var o = function(e, a) {
			var t, n = {
				dynamicNavbar: !1,
				domCache: !1,
				linksView: void 0,
				reloadPages: !1,
				uniqueHistory: r.params.uniqueHistory,
				uniqueHistoryIgnoreGetParameters: r.params.uniqueHistoryIgnoreGetParameters,
				allowDuplicateUrls: r.params.allowDuplicateUrls,
				swipeBackPage: r.params.swipeBackPage,
				swipeBackPageAnimateShadow: r.params.swipeBackPageAnimateShadow,
				swipeBackPageAnimateOpacity: r.params.swipeBackPageAnimateOpacity,
				swipeBackPageActiveArea: r.params.swipeBackPageActiveArea,
				swipeBackPageThreshold: r.params.swipeBackPageThreshold,
				animatePages: r.params.animatePages,
				preloadPreviousPage: r.params.preloadPreviousPage
			};
			a = a || {}, a.dynamicNavbar && r.params.material && (a.dynamicNavbar = !1);
			for (var s in n) void 0 === a[s] && (a[s] = n[s]);
			var o = this;
			o.params = a, o.selector = e;
			var l = i(e);
			if (o.container = l[0], "string" != typeof e && (e = (l.attr("id") ? "#" + l.attr("id") : "") + (l.attr("class") ?
					"." + l.attr("class").replace(/ /g, ".").replace(".active", "") : ""), o.selector = e), o.main = l.hasClass(r.params
					.viewMainClass), o.contentCache = {}, o.contextCache = {}, o.pagesCache = {}, o.pageElementsCache = {}, l[0].f7View =
				o, o.pagesContainer = l.find(".pages")[0], o.initialPages = [], o.initialPagesUrl = [], o.initialNavbars = [], o.params
				.domCache) {
				var p = l.find(".page");
				for (t = 0; t < p.length; t++) o.initialPages.push(p[t]), o.initialPagesUrl.push("#" + p.eq(t).attr("data-page"));
				if (o.params.dynamicNavbar) {
					var d = l.find(".navbar-inner");
					for (t = 0; t < d.length; t++) o.initialNavbars.push(d[t])
				}
			}
			o.allowPageChange = !0;
			var c = document.location.href;
			o.history = [];
			var u = c,
				m = r.params.pushStateSeparator,
				f = r.params.pushStateRoot;
			r.params.pushState && o.main && (f ? u = f : m && u.indexOf(m) >= 0 && u.indexOf(m + "#") < 0 && (u = u.split(m)[0]));
			var h, g;
			o.activePage || (h = i(o.pagesContainer).find(".page-on-center"), 0 === h.length && (h = i(o.pagesContainer).find(
					".page:not(.cached)"), h = h.eq(h.length - 1)), h.length > 0 && (g = h[0].f7PageData)), o.params.domCache && h ?
				(o.url = l.attr("data-url") || o.params.url || "#" + h.attr("data-page"), o.pagesCache[o.url] = h.attr(
					"data-page")) : o.url = l.attr("data-url") || o.params.url || u, g && (g.view = o, g.url = o.url, o.params.domCache &&
					o.params.dynamicNavbar && !g.navbarInnerContainer && (g.navbarInnerContainer = o.initialNavbars[o.initialPages.indexOf(
						g.container)]), o.activePage = g, h[0].f7PageData = g), o.url && o.history.push(o.url);
			var v, b, w, C, y, x, T, P, k, S, M, O = !1,
				E = !1,
				z = {},
				L = [],
				I = [],
				B = !0,
				D = [],
				N = [];
			if (o.handleTouchStart = function(e) {
					B && o.params.swipeBackPage && !O && !r.swipeoutOpenedEl && o.allowPageChange && (E = !1, O = !0, v = void 0, z.x =
						"touchstart" === e.type ? e.targetTouches[0].pageX : e.pageX, z.y = "touchstart" === e.type ? e.targetTouches[
							0].pageY : e.pageY, C = (new Date).getTime(), k = o.params.dynamicNavbar && l.find(".navbar-inner").length >
						1)
				}, o.handleTouchMove = function(e) {
					if (O) {
						var a = "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX,
							t = "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY;
						if (void 0 === v && (v = !!(v || Math.abs(t - z.y) > Math.abs(a - z.x))), v || e.f7PreventSwipeBack || r.preventSwipeBack)
							return void(O = !1);
						if (!E) {
							var n = !1;
							b = l.width();
							var s = i(e.target),
								p = s.hasClass("swipeout") ? s : s.parents(".swipeout");
							p.length > 0 && (!r.rtl && p.find(".swipeout-actions-left").length > 0 && (n = !0), r.rtl && p.find(
								".swipeout-actions-right").length > 0 && (n = !0)), L = s.is(".page") ? s : s.parents(".page"), L.hasClass(
								"no-swipeback") && (n = !0), I = l.find(".page-on-left:not(.cached)");
							var d = z.x - l.offset().left > o.params.swipeBackPageActiveArea;
							if (d = r.rtl ? z.x < l.offset().left - l[0].scrollLeft + b - o.params.swipeBackPageActiveArea : z.x - l.offset()
								.left > o.params.swipeBackPageActiveArea, d && (n = !0), 0 !== I.length && 0 !== L.length || (n = !0), n)
								return void(O = !1);
							o.params.swipeBackPageAnimateShadow && !r.device.android && (S = L.find(".swipeback-page-shadow"), 0 === S.length &&
								(S = i('<div class="swipeback-page-shadow"></div>'), L.append(S))), k && (D = l.find(
									".navbar-on-center:not(.cached)"), N = l.find(".navbar-on-left:not(.cached)"), y = D.find(
									".left, .center, .right, .subnavbar, .fading"), x = N.find(".left, .center, .right, .subnavbar, .fading"),
								r.params.animateNavBackIcon && (T = D.find(".left.sliding .back .icon"), P = N.find(
									".left.sliding .back .icon"))), i(".picker-modal.modal-in").length > 0 && r.closeModal(i(
								".picker-modal.modal-in"))
						}
						e.f7PreventPanelSwipe = !0, E = !0, e.preventDefault();
						var c = r.rtl ? -1 : 1;
						w = (a - z.x - o.params.swipeBackPageThreshold) * c, w < 0 && (w = 0);
						var u = w / b,
							m = {
								percentage: u,
								activePage: L[0],
								previousPage: I[0],
								activeNavbar: D[0],
								previousNavbar: N[0]
							};
						o.params.onSwipeBackMove && o.params.onSwipeBackMove(m), l.trigger("swipeBackMove swipeback:move", m);
						var f = w * c,
							h = (w / 5 - b / 5) * c;
						if (1 === r.device.pixelRatio && (f = Math.round(f), h = Math.round(h)), L.transform("translate3d(" + f +
								"px,0,0)"), o.params.swipeBackPageAnimateShadow && !r.device.android && (S[0].style.opacity = 1 - 1 * u), I.transform(
								"translate3d(" + h + "px,0,0)"), o.params.swipeBackPageAnimateOpacity && (I[0].style.opacity = .9 + .1 * u),
							k) {
							var g;
							for (g = 0; g < y.length; g++)
								if (M = i(y[g]), M.is(".subnavbar.sliding") || (M[0].style.opacity = 1 - 1.3 * u), M[0].className.indexOf(
										"sliding") >= 0) {
									var C = u * M[0].f7NavbarRightOffset;
									1 === r.device.pixelRatio && (C = Math.round(C)), M.transform("translate3d(" + C + "px,0,0)"), r.params.animateNavBackIcon &&
										M[0].className.indexOf("left") >= 0 && T.length > 0 && T.transform("translate3d(" + -C + "px,0,0)")
								} for (g = 0; g < x.length; g++)
								if (M = i(x[g]), M.is(".subnavbar.sliding") || (M[0].style.opacity = 1.3 * u - .3), M[0].className.indexOf(
										"sliding") >= 0) {
									var B = M[0].f7NavbarLeftOffset * (1 - u);
									1 === r.device.pixelRatio && (B = Math.round(B)), M.transform("translate3d(" + B + "px,0,0)"), r.params.animateNavBackIcon &&
										M[0].className.indexOf("left") >= 0 && P.length > 0 && P.transform("translate3d(" + -B + "px,0,0)")
								}
						}
					}
				}, o.handleTouchEnd = function(e) {
					if (!O || !E) return O = !1, void(E = !1);
					if (O = !1, E = !1, 0 === w) return i([L[0], I[0]]).transform("").css({
						opacity: "",
						boxShadow: ""
					}), void(k && (y.transform("").css({
						opacity: ""
					}), x.transform("").css({
						opacity: ""
					}), T && T.length > 0 && T.transform(""), P && T.length > 0 && P.transform("")));
					var a = (new Date).getTime() - C,
						t = !1;
					(a < 300 && w > 10 || a >= 300 && w > b / 2) && (L.removeClass("page-on-center").addClass("page-on-right"), I.removeClass(
						"page-on-left").addClass("page-on-center"), k && (D.removeClass("navbar-on-center").addClass("navbar-on-right"),
						N.removeClass("navbar-on-left").addClass("navbar-on-center")), t = !0), i([L[0], I[0]]).transform("").css({
						opacity: "",
						boxShadow: ""
					}).addClass("page-transitioning"), k && (y.css({
						opacity: ""
					}).each(function() {
						var e = t ? this.f7NavbarRightOffset : 0,
							a = i(this);
						a.transform("translate3d(" + e + "px,0,0)"), r.params.animateNavBackIcon && a.hasClass("left") && T.length >
							0 && T.addClass("page-transitioning").transform("translate3d(" + -e + "px,0,0)")
					}).addClass("page-transitioning"), x.transform("").css({
						opacity: ""
					}).each(function() {
						var e = t ? 0 : this.f7NavbarLeftOffset,
							a = i(this);
						a.transform("translate3d(" + e + "px,0,0)"), r.params.animateNavBackIcon && a.hasClass("left") && P.length >
							0 && P.addClass("page-transitioning").transform("translate3d(" + -e + "px,0,0)")
					}).addClass("page-transitioning")), B = !1, o.allowPageChange = !1;
					var n = {
						activePage: L[0],
						previousPage: I[0],
						activeNavbar: D[0],
						previousNavbar: N[0]
					};
					if (t) {
						var s = o.history[o.history.length - 2];
						o.url = s, r.pageBackCallback("before", o, {
							pageContainer: L[0],
							url: s,
							position: "center",
							newPage: I,
							oldPage: L,
							swipeBack: !0
						}), r.pageAnimCallback("before", o, {
							pageContainer: I[0],
							url: s,
							position: "left",
							newPage: I,
							oldPage: L,
							swipeBack: !0
						}), o.params.onSwipeBackBeforeChange && o.params.onSwipeBackBeforeChange(n), l.trigger(
							"swipeBackBeforeChange swipeback:beforechange", n)
					} else o.params.onSwipeBackBeforeReset && o.params.onSwipeBackBeforeReset(n), l.trigger(
						"swipeBackBeforeReset swipeback:beforereset", n);
					L.transitionEnd(function() {
						i([L[0], I[0]]).removeClass("page-transitioning"), k && (y.removeClass("page-transitioning").css({
							opacity: ""
						}), x.removeClass("page-transitioning").css({
							opacity: ""
						}), T && T.length > 0 && T.removeClass("page-transitioning"), P && P.length > 0 && P.removeClass(
							"page-transitioning")), B = !0, o.allowPageChange = !0, t ? (r.params.pushState && o.main && history.back(),
							r.pageBackCallback("after", o, {
								pageContainer: L[0],
								url: s,
								position: "center",
								newPage: I,
								oldPage: L,
								swipeBack: !0
							}), r.pageAnimCallback("after", o, {
								pageContainer: I[0],
								url: s,
								position: "left",
								newPage: I,
								oldPage: L,
								swipeBack: !0
							}), r.router.afterBack(o, L, I), o.params.onSwipeBackAfterChange && o.params.onSwipeBackAfterChange(n), l.trigger(
								"swipeBackAfterChange swipeback:afterchange", n)) : (o.params.onSwipeBackAfterReset && o.params.onSwipeBackAfterReset(
							n), l.trigger("swipeBackAfterReset swipeback:afterreset", n)), S && S.length > 0 && S.remove()
					})
				}, o.attachEvents = function(e) {
					var a = e ? "off" : "on",
						t = !("touchstart" !== r.touchEvents.start || !r.support.passiveListener) && {
							passive: !0,
							capture: !1
						},
						n = !!r.support.passiveListener && {
							passive: !1,
							capture: !1
						};
					l[a](r.touchEvents.start, o.handleTouchStart, t), l[a](r.touchEvents.move, o.handleTouchMove, n), l[a](r.touchEvents
						.end, o.handleTouchEnd, t)
				}, o.detachEvents = function() {
					o.attachEvents(!0)
				}, o.params.swipeBackPage && !r.params.material && o.attachEvents(), o.params.name && (o.params.name = o.params.name
					.replace(/[^a-zA-Z]/g, "")), r.views.push(o), o.main ? (r.mainView = o, r.views.main = o) : o.params.name && (r[
					o.params.name + "View"] = o, r.views[o.params.name] = o), o.router = {
					load: function(e) {
						return r.router.load(o, e)
					},
					back: function(e) {
						return r.router.back(o, e)
					},
					loadPage: function(e) {
						if ("string" == typeof(e = e || {})) {
							var a = e;
							e = {}, a && 0 === a.indexOf("#") && o.params.domCache ? e.pageName = a.split("#")[1] : e.url = a
						}
						return r.router.load(o, e)
					},
					loadContent: function(e) {
						return r.router.load(o, {
							content: e
						})
					},
					reloadPage: function(e) {
						return r.router.load(o, {
							url: e,
							reload: !0
						})
					},
					reloadContent: function(e) {
						return r.router.load(o, {
							content: e,
							reload: !0
						})
					},
					reloadPreviousPage: function(e) {
						return r.router.load(o, {
							url: e,
							reloadPrevious: !0,
							reload: !0
						})
					},
					reloadPreviousContent: function(e) {
						return r.router.load(o, {
							content: e,
							reloadPrevious: !0,
							reload: !0
						})
					},
					refreshPage: function() {
						var e = {
							url: o.url,
							reload: !0,
							ignoreCache: !0
						};
						return e.url && 0 === e.url.indexOf("#") && (o.params.domCache && o.pagesCache[e.url] ? (e.pageName = o.pagesCache[
							e.url], e.url = void 0, delete e.url) : o.contentCache[e.url] && (e.content = o.contentCache[e.url], e.url =
							void 0, delete e.url)), r.router.load(o, e)
					},
					refreshPreviousPage: function() {
						var e = {
							url: o.history[o.history.length - 2],
							reload: !0,
							reloadPrevious: !0,
							ignoreCache: !0
						};
						return e.url && 0 === e.url.indexOf("#") && o.params.domCache && o.pagesCache[e.url] && (e.pageName = o.pagesCache[
							e.url], e.url = void 0, delete e.url), r.router.load(o, e)
					}
				}, o.loadPage = o.router.loadPage, o.loadContent = o.router.loadContent, o.reloadPage = o.router.reloadPage, o.reloadContent =
				o.router.reloadContent, o.reloadPreviousPage = o.router.reloadPreviousPage, o.reloadPreviousContent = o.router.reloadPreviousContent,
				o.refreshPage = o.router.refreshPage, o.refreshPreviousPage = o.router.refreshPreviousPage, o.back = o.router.back,
				o.hideNavbar = function(e) {
					return r.hideNavbar(l.find(".navbar"), e)
				}, o.showNavbar = function(e) {
					return r.showNavbar(l.find(".navbar"), e)
				}, o.hideToolbar = function(e) {
					return r.hideToolbar(l.find(".toolbar"), e)
				}, o.showToolbar = function(e) {
					return r.showToolbar(l.find(".toolbar"), e)
				}, r.params.pushState && r.params.pushStateOnLoad && o.main) {
				var A, H = c.split(m)[1];
				f ? A = c.split(r.params.pushStateRoot + m)[1] : m && c.indexOf(m) >= 0 && c.indexOf(m + "#") < 0 && (A = H);
				var R = !r.params.pushStateNoAnimation && void 0,
					V = history.state;
				A ? A.indexOf("#") >= 0 && o.params.domCache && V && V.pageName && "viewIndex" in V ? r.router.load(o, {
					pageName: V.pageName,
					url: V.url,
					animatePages: R,
					pushState: !1
				}) : A.indexOf("#") >= 0 && o.params.domCache && o.initialPagesUrl.indexOf(A) >= 0 ? r.router.load(o, {
					pageName: A.replace("#", ""),
					animatePages: R,
					pushState: !1
				}) : r.router.load(o, {
					url: A,
					animatePages: R,
					pushState: !1
				}) : o.params.domCache && c.indexOf(m + "#") >= 0 && (V && V.pageName && "viewIndex" in V ? r.router.load(o, {
					pageName: V.pageName,
					url: V.url,
					animatePages: R,
					pushState: !1
				}) : m && 0 === H.indexOf("#") && o.initialPagesUrl.indexOf(H) && r.router.load(o, {
					pageName: H.replace("#", ""),
					animatePages: R,
					pushState: !1
				}))
			}
			return o.destroy = function() {
				o.detachEvents(), o.main ? (r.mainView = null, delete r.mainView, r.views.main = null, delete r.views.main) : o.params
					.name && (r[o.params.name + "View"] = null, delete r[o.params.name + "View"], r.views[o.params.name] = null,
						delete r.views[o.params.name]), l.removeAttr("data-page"), l[0].f7View = null, delete l[0].f7View, r.views.splice(
						r.views.indexOf(o), 1);
				for (var e in o) o.hasOwnProperty(e) && (o[e] = null, delete o[e]);
				o = null
			}, r.pluginHook("addView", o), o
		};
		r.addView = function(e, a) {
			return new o(e, a)
		}, r.getCurrentView = function(e) {
			var a = i(".popover.modal-in .view"),
				t = i(".popup.modal-in .view"),
				r = i(".panel.active .view"),
				n = i(".views"),
				s = n.children(".view");
			if (s.length > 1 && s.hasClass("tab") && (s = n.children(".view.active")), a.length > 0 && a[0].f7View) return a[0]
				.f7View;
			if (t.length > 0 && t[0].f7View) return t[0].f7View;
			if (r.length > 0 && r[0].f7View) return r[0].f7View;
			if (s.length > 0) {
				if (1 === s.length && s[0].f7View) return s[0].f7View;
				if (s.length > 1) {
					for (var o = [], l = 0; l < s.length; l++) s[l].f7View && o.push(s[l].f7View);
					if (o.length > 0 && void 0 !== e) return o[e];
					if (o.length > 1) return o;
					if (1 === o.length) return o[0];
					return
				}
			}
		}, r.navbarInitCallback = function(e, a, t, n) {
			if (!t && n && (t = i(n).parent(".navbar")[0]), n && (!n.f7NavbarInitialized || !e || e.params.domCache)) {
				var s = {
						container: t,
						innerContainer: n
					},
					o = a && a.f7PageData,
					l = {
						page: o,
						navbar: s
					};
				if (n.f7NavbarInitialized && (e && e.params.domCache || !e && i(t).parents(
						".popup, .popover, .login-screen, .modal, .actions-modal, .picker-modal").length > 0)) return r.reinitNavbar(t,
					n), r.pluginHook("navbarReinit", l), void i(n).trigger("navbarReinit navbar:reinit", l);
				n.f7NavbarInitialized = !0, r.pluginHook("navbarBeforeInit", s, o), i(n).trigger(
					"navbarBeforeInit navbar:beforeinit", l), r.initNavbar(t, n), r.pluginHook("navbarInit", s, o), i(n).trigger(
					"navbarInit navbar:init", l)
			}
		}, r.navbarRemoveCallback = function(e, a, t, n) {
			!t && n && (t = i(n).parent(".navbar")[0]);
			var s, o = {
				container: t,
				innerContainer: n
			};
			a && (s = a.f7PageData);
			var l = {
				page: s,
				navbar: o
			};
			r.pluginHook("navbarBeforeRemove", o, s), i(n).trigger("navbarBeforeRemove navbar:beforeremove", l), o = null, s =
				null
		}, r.initNavbar = function(e, a) {
			r.initSearchbar && r.initSearchbar(a)
		}, r.reinitNavbar = function(e, a) {}, r.initNavbarWithCallback = function(e) {
			e = i(e);
			var a, t = e.parents("." + r.params.viewClass);
			0 !== t.length && (0 === e.parents(".navbar-through").length && 0 === t.find(".navbar-through").length || (a = t[0]
				.f7View || void 0, e.find(".navbar-inner").each(function() {
					var n, s = this;
					if (i(s).attr("data-page") && (n = t.find('.page[data-page="' + i(s).attr("data-page") + '"]')[0]), !n) {
						var o = t.find(".page");
						1 === o.length ? n = o[0] : t.find(".page").each(function() {
							this.f7PageData && this.f7PageData.navbarInnerContainer === s && (n = this)
						})
					}
					r.navbarInitCallback(a, n, e[0], s)
				})))
		}, r.sizeNavbars = function(e) {
			if (!r.params.material) {
				(e ? i(e).find(".navbar .navbar-inner:not(.cached)") : i(".navbar .navbar-inner:not(.cached)")).each(function() {
					var e = i(this);
					if (!e.hasClass("cached")) {
						var a, t, n = r.rtl ? e.find(".right") : e.find(".left"),
							s = r.rtl ? e.find(".left") : e.find(".right"),
							o = e.find(".center"),
							l = e.find(".subnavbar"),
							p = 0 === n.length,
							d = 0 === s.length,
							c = p ? 0 : n.outerWidth(!0),
							u = d ? 0 : s.outerWidth(!0),
							m = o.outerWidth(!0),
							f = e.styles(),
							h = e[0].offsetWidth - parseInt(f.paddingLeft, 10) - parseInt(f.paddingRight, 10),
							g = e.hasClass("navbar-on-left");
						d && (a = h - m), p && (a = 0), p || d || (a = (h - u - m + c) / 2);
						var v = (h - m) / 2;
						h - c - u > m ? (v < c && (v = c), v + m > h - u && (v = h - u - m), t = v - a) : t = 0;
						var b = r.rtl ? -1 : 1;
						if (o.hasClass("sliding") && (o[0].f7NavbarLeftOffset = -(a + t) * b, o[0].f7NavbarRightOffset = (h - a - t -
								m) * b, g)) {
							if (r.params.animateNavBackIcon) {
								var w = e.parent().find(".navbar-on-center").find(".left.sliding .back .icon ~ span");
								w.length > 0 && (o[0].f7NavbarLeftOffset += w[0].offsetLeft)
							}
							o.transform("translate3d(" + o[0].f7NavbarLeftOffset + "px, 0, 0)")
						}!p && n.hasClass("sliding") && (r.rtl ? (n[0].f7NavbarLeftOffset = -(h - n[0].offsetWidth) / 2 * b, n[0].f7NavbarRightOffset =
								c * b) : (n[0].f7NavbarLeftOffset = -c, n[0].f7NavbarRightOffset = (h - n[0].offsetWidth) / 2, r.params.animateNavBackIcon &&
								n.find(".back .icon").length > 0 && (n[0].f7NavbarRightOffset -= n.find(".back .icon")[0].offsetWidth)), g &&
							n.transform("translate3d(" + n[0].f7NavbarLeftOffset + "px, 0, 0)")), !d && s.hasClass("sliding") && (r.rtl ?
							(s[0].f7NavbarLeftOffset = -u * b, s[0].f7NavbarRightOffset = (h - s[0].offsetWidth) / 2 * b) : (s[0].f7NavbarLeftOffset = -
								(h - s[0].offsetWidth) / 2, s[0].f7NavbarRightOffset = u), g && s.transform("translate3d(" + s[0].f7NavbarLeftOffset +
								"px, 0, 0)")), l.length && l.hasClass("sliding") && (l[0].f7NavbarLeftOffset = r.rtl ? l[0].offsetWidth :
							-l[0].offsetWidth, l[0].f7NavbarRightOffset = -l[0].f7NavbarLeftOffset);
						var C = t;
						r.rtl && p && d && o.length > 0 && (C = -C), o.css({
							left: C + "px"
						})
					}
				})
			}
		}, r.hideNavbar = function(e, a) {
			return void 0 === a && (a = !0), i(e).addClass("navbar-hidden" + (a ? "" : " not-animated")), !0
		}, r.showNavbar = function(e, a) {
			void 0 === a && (a = !0);
			var t = i(e);
			return a ? (t.removeClass("not-animated"), t.addClass("navbar-hiding").removeClass("navbar-hidden").transitionEnd(
				function() {
					t.removeClass("navbar-hiding")
				})) : t.removeClass("navbar-hidden navbar-hiding not-animated"), !0
		}, r.hideToolbar = function(e, a) {
			return void 0 === a && (a = !0), i(e).addClass("toolbar-hidden" + (a ? "" : " not-animated")), !0
		}, r.showToolbar = function(e, a) {
			void 0 === a && (a = !0);
			var t = i(e);
			a ? (t.removeClass("not-animated"), t.addClass("toolbar-hiding").removeClass("toolbar-hidden").transitionEnd(
				function() {
					t.removeClass("toolbar-hiding" + (a ? "" : " not-animated"))
				})) : t.removeClass("toolbar-hidden toolbar-hiding not-animated")
		}, r.cache = [], r.removeFromCache = function(e) {
			for (var a = !1, t = 0; t < r.cache.length; t++) r.cache[t].url === e && (a = t);
			!1 !== a && r.cache.splice(a, 1)
		}, r.xhr = !1, r.get = function(e, a, t, n) {
			var s = e;
			if (r.params.cacheIgnoreGetParameters && e.indexOf("?") >= 0 && (s = e.split("?")[0]), r.params.cache && !t && e.indexOf(
					"nocache") < 0 && r.params.cacheIgnore.indexOf(s) < 0)
				for (var o = 0; o < r.cache.length; o++)
					if (r.cache[o].url === s && (new Date).getTime() - r.cache[o].time < r.params.cacheDuration) return n(r.cache[o]
						.content), !1;
			return r.xhr = i.ajax({
				url: e,
				method: "GET",
				beforeSend: r.params.onAjaxStart,
				complete: function(e, a) {
					"error" !== a && "timeout" !== a && e.status >= 200 && e.status < 300 || 0 === e.status ? (r.params.cache &&
						"" !== e.responseText && (r.removeFromCache(s), r.cache.push({
							url: s,
							time: (new Date).getTime(),
							content: e.responseText
						})), n(e.responseText, !1)) : n(e.responseText, !0), r.params.onAjaxComplete && r.params.onAjaxComplete(e)
				},
				error: function(e) {
					n(e.responseText, !0), r.params.onAjaxError && r.params.onAjaxError(e)
				}
			}), a && (a.xhr = r.xhr), r.xhr
		}, r.pageCallbacks = {}, r.onPage = function(e, a, t) {
			if (a && a.split(" ").length > 1) {
				for (var n = a.split(" "), i = [], s = 0; s < n.length; s++) i.push(r.onPage(e, n[s], t));
				return i.remove = function() {
					for (var e = 0; e < i.length; e++) i[e].remove()
				}, i.trigger = function() {
					for (var e = 0; e < i.length; e++) i[e].trigger()
				}, i
			}
			var o = r.pageCallbacks[e][a];
			return o || (o = r.pageCallbacks[e][a] = []), r.pageCallbacks[e][a].push(t), {
				remove: function() {
					for (var e, a = 0; a < o.length; a++) o[a].toString() === t.toString() && (e = a);
					void 0 !== e && o.splice(e, 1)
				},
				trigger: t
			}
		};
		for (var l = "beforeInit init reinit beforeAnimation afterAnimation back afterBack beforeRemove".split(" "), p = 0; p <
			l.length; p++) r.pageCallbacks[l[p]] = {},
			function(e) {
				var a = e.replace(/^./, function(e) {
					return e.toUpperCase()
				});
				r["onPage" + a] = function(a, t) {
					return r.onPage(e, a, t)
				}
			}(l[p]);
		r.triggerPageCallbacks = function(e, a, t) {
			var n = r.pageCallbacks[e]["*"];
			if (n)
				for (var i = 0; i < n.length; i++) n[i](t);
			var s = r.pageCallbacks[e][a];
			if (s && 0 !== s.length)
				for (var o = 0; o < s.length; o++) s[o](t)
		}, r.pageInitCallback = function(e, a) {
			var t = a.pageContainer;
			if (t && (!t.f7PageInitialized || !e || e.params.domCache)) {
				var n = a.query;
				n || (n = a.url && a.url.indexOf("?") > 0 ? i.parseUrlQuery(a.url || "") : t.f7PageData && t.f7PageData.query ? t
					.f7PageData.query : {});
				var s = {
					container: t,
					url: a.url,
					query: n,
					name: i(t).attr("data-page"),
					view: e,
					from: a.position,
					context: a.context,
					navbarInnerContainer: a.navbarInnerContainer,
					fromPage: a.fromPage
				};
				if (a.fromPage && !a.fromPage.navbarInnerContainer && a.oldNavbarInnerContainer && (a.fromPage.navbarInnerContainer =
						a.oldNavbarInnerContainer), t.f7PageInitialized && (e && e.params.domCache || !e && i(t).parents(
						".popup, .popover, .login-screen, .modal, .actions-modal, .picker-modal").length > 0)) return r.reinitPage(t),
					r.pluginHook("pageReinit", s), r.params.onPageReinit && r.params.onPageReinit(r, s), r.triggerPageCallbacks(
						"reinit", s.name, s), void i(s.container).trigger("pageReinit page:reinit", {
						page: s
					});
				t.f7PageInitialized = !0, t.f7PageData = s, !e || a.preloadOnly || a.reloadPrevious || (i(e.container).attr(
						"data-page", s.name), e.activePage = s), r.pluginHook("pageBeforeInit", s), r.params.onPageBeforeInit && r.params
					.onPageBeforeInit(r, s), r.triggerPageCallbacks("beforeInit", s.name, s), i(s.container).trigger(
						"pageBeforeInit page:beforeinit", {
							page: s
						}), r.initPage(t), r.pluginHook("pageInit", s), r.params.onPageInit && r.params.onPageInit(r, s), r.triggerPageCallbacks(
						"init", s.name, s), i(s.container).trigger("pageInit page:init", {
						page: s
					})
			}
		}, r.pageRemoveCallback = function(e, a, t) {
			var n;
			if (a) {
				a.f7PageData && (n = a.f7PageData.context);
				var s = {
					container: a,
					name: i(a).attr("data-page"),
					view: e,
					url: a.f7PageData && a.f7PageData.url,
					query: a.f7PageData && a.f7PageData.query,
					navbarInnerContainer: a.f7PageData && a.f7PageData.navbarInnerContainer,
					from: t,
					context: n
				};
				r.pluginHook("pageBeforeRemove", s), r.params.onPageBeforeRemove && r.params.onPageBeforeRemove(r, s), r.triggerPageCallbacks(
					"beforeRemove", s.name, s), i(s.container).trigger("pageBeforeRemove page:beforeremove", {
					page: s
				}), s = null
			}
		}, r.pageBackCallback = function(e, a, t) {
			var n, s = t.pageContainer;
			if (s) {
				s.f7PageData && (n = s.f7PageData.context);
				var o = {
					container: s,
					name: i(s).attr("data-page"),
					url: s.f7PageData && s.f7PageData.url,
					query: s.f7PageData && s.f7PageData.query,
					view: a,
					from: t.position,
					context: n,
					navbarInnerContainer: s.f7PageData && s.f7PageData.navbarInnerContainer,
					swipeBack: t.swipeBack
				};
				"after" === e && (r.pluginHook("pageAfterBack", o), r.params.onPageAfterBack && r.params.onPageAfterBack(r, o), r
					.triggerPageCallbacks("afterBack", o.name, o), i(s).trigger("pageAfterBack page:afterback", {
						page: o
					})), "before" === e && (r.pluginHook("pageBack", o), r.params.onPageBack && r.params.onPageBack(r, o), r.triggerPageCallbacks(
					"back", o.name, o), i(o.container).trigger("pageBack page:back", {
					page: o
				}))
			}
		}, r.pageAnimCallback = function(e, a, t) {
			var n, s = t.pageContainer;
			if (s) {
				s.f7PageData && (n = s.f7PageData.context);
				var o = t.query;
				o || (o = t.url && t.url.indexOf("?") > 0 ? i.parseUrlQuery(t.url || "") : s.f7PageData && s.f7PageData.query ? s
					.f7PageData.query : {});
				var l = {
						container: s,
						url: t.url,
						query: o,
						name: i(s).attr("data-page"),
						view: a,
						from: t.position,
						context: n,
						swipeBack: t.swipeBack,
						navbarInnerContainer: s.f7PageData && s.f7PageData.navbarInnerContainer,
						fromPage: t.fromPage
					},
					p = t.oldPage,
					d = t.newPage;
				if (s.f7PageData = l, "after" === e && (r.pluginHook("pageAfterAnimation", l), r.params.onPageAfterAnimation && r
						.params.onPageAfterAnimation(r, l), r.triggerPageCallbacks("afterAnimation", l.name, l), i(l.container).trigger(
							"pageAfterAnimation page:afteranimation", {
								page: l
							})), "before" === e) {
					i(a.container).attr("data-page", l.name), a && (a.activePage = l), d.hasClass("no-navbar") && !p.hasClass(
							"no-navbar") && a.hideNavbar(), d.hasClass("no-navbar") || !p.hasClass("no-navbar") && !p.hasClass(
							"no-navbar-by-scroll") || a.showNavbar(), d.hasClass("no-toolbar") && !p.hasClass("no-toolbar") && a.hideToolbar(),
						d.hasClass("no-toolbar") || !p.hasClass("no-toolbar") && !p.hasClass("no-toolbar-by-scroll") || a.showToolbar();
					var c;
					d.hasClass("no-tabbar") && !p.hasClass("no-tabbar") && (c = i(a.container).find(".tabbar"), 0 === c.length && (c =
							i(a.container).parents("." + r.params.viewsClass).find(".tabbar")), r.hideToolbar(c)), d.hasClass("no-tabbar") ||
						!p.hasClass("no-tabbar") && !p.hasClass("no-tabbar-by-scroll") || (c = i(a.container).find(".tabbar"), 0 === c.length &&
							(c = i(a.container).parents("." + r.params.viewsClass).find(".tabbar")), r.showToolbar(c)), p.removeClass(
							"no-navbar-by-scroll no-toolbar-by-scroll"), r.pluginHook("pageBeforeAnimation", l), r.params.onPageBeforeAnimation &&
						r.params.onPageBeforeAnimation(r, l), r.triggerPageCallbacks("beforeAnimation", l.name, l), i(l.container).trigger(
							"pageBeforeAnimation page:beforeanimation", {
								page: l
							})
				}
			}
		}, r.initPage = function(e) {
			e = i(e), 0 !== e.length && (r.sizeNavbars && r.sizeNavbars(e.parents("." + r.params.viewClass)[0]), r.initPageMessages &&
				r.initPageMessages(e), r.initFormsStorage && r.initFormsStorage(e), r.initSmartSelects && r.initSmartSelects(e),
				r.initPageSwiper && r.initPageSwiper(e), r.initPullToRefresh && r.initPullToRefresh(e), r.initPageInfiniteScroll &&
				r.initPageInfiniteScroll(e), r.initSearchbar && r.initSearchbar(e), r.initPageMessagebar && r.initPageMessagebar(
					e), r.initPageScrollToolbars && r.initPageScrollToolbars(e), r.initImagesLazyLoad && r.initImagesLazyLoad(e), r
				.initPageProgressbar && r.initPageProgressbar(e), r.initPageResizableTextarea && r.initPageResizableTextarea(e),
				r.initPageDataTables && r.initPageDataTables(e), r.params.material && r.initPageMaterialPreloader && r.initPageMaterialPreloader(
					e), r.params.material && r.initPageMaterialInputs && r.initPageMaterialInputs(e), r.params.material && r.initPageMaterialTabbar &&
				r.initPageMaterialTabbar(e))
		}, r.reinitPage = function(e) {
			e = i(e), 0 !== e.length && (r.sizeNavbars && r.sizeNavbars(e.parents("." + r.params.viewClass)[0]), r.reinitPageSwiper &&
				r.reinitPageSwiper(e), r.reinitLazyLoad && r.reinitLazyLoad(e))
		}, r.initPageWithCallback = function(e) {
			e = i(e);
			var a = e.parents("." + r.params.viewClass);
			if (0 !== a.length) {
				var t = a[0].f7View || void 0,
					n = t && t.url ? t.url : void 0;
				a && e.attr("data-page") && a.attr("data-page", e.attr("data-page")), r.pageInitCallback(t, {
					pageContainer: e[0],
					url: n,
					position: "center"
				})
			}
		}, r.router = {
			_remove: function(e) {
				r.params.routerRemoveTimeout || r.params.routerRemoveWithTimeout ? setTimeout(function() {
					i(e).remove()
				}, 0) : i(e).remove()
			},
			_modalsSelector: ".popup, .modal, .popover, .actions-modal, .picker-modal, .login-screen",
			temporaryDom: document.createElement("div"),
			findElement: function(e, a, t, n) {
				a = i(a), n && (e += ":not(.cached)");
				var s = a.find(e).filter(function(e, a) {
					return 0 === i(a).parents(r.router._modalsSelector).length
				});
				return s.length > 1 && ("string" == typeof t.selector && (s = a.find(t.selector + " " + e)), s.length > 1 && (s =
					a.find("." + r.params.viewMainClass + " " + e))), 1 === s.length ? s : (n || (s = r.router.findElement(e, a, t,
					!0)), s && 1 === s.length ? s : s && s.length > 1 ? i(s[0]) : void 0)
			},
			animatePages: function(e, a, t) {
				var r = "page-on-center page-on-right page-on-left";
				"to-left" === t && (e.removeClass(r).addClass("page-from-center-to-left"), a.removeClass(r).addClass(
					"page-from-right-to-center")), "to-right" === t && (e.removeClass(r).addClass("page-from-left-to-center"), a.removeClass(
					r).addClass("page-from-center-to-right"))
			},
			prepareNavbar: function(e, a, t) {
				i(e).find(".sliding").each(function() {
					var e = i(this),
						a = "right" === t ? this.f7NavbarRightOffset : this.f7NavbarLeftOffset;
					r.params.animateNavBackIcon && e.hasClass("left") && e.find(".back .icon").length > 0 && e.find(".back .icon")
						.transform("translate3d(" + -a + "px,0,0)"), e.transform("translate3d(" + a + "px,0,0)")
				})
			},
			animateNavbars: function(e, a, t) {
				var n = "navbar-on-right navbar-on-center navbar-on-left";
				"to-left" === t && (a.removeClass(n).addClass("navbar-from-right-to-center"), a.find(".sliding").each(function() {
					var e = i(this);
					e.transform("translate3d(0px,0,0)"), r.params.animateNavBackIcon && e.hasClass("left") && e.find(
						".back .icon").length > 0 && e.find(".back .icon").transform("translate3d(0px,0,0)")
				}), e.removeClass(n).addClass("navbar-from-center-to-left"), e.find(".sliding").each(function() {
					var e, t = i(this);
					r.params.animateNavBackIcon && (t.hasClass("center") && a.find(".sliding.left .back .icon").length > 0 && (e =
						a.find(".sliding.left .back span"), e.length > 0 && (this.f7NavbarLeftOffset += e[0].offsetLeft)), t.hasClass(
						"left") && t.find(".back .icon").length > 0 && t.find(".back .icon").transform("translate3d(" + -this.f7NavbarLeftOffset +
						"px,0,0)")), t.transform("translate3d(" + this.f7NavbarLeftOffset + "px,0,0)")
				})), "to-right" === t && (e.removeClass(n).addClass("navbar-from-left-to-center"), e.find(".sliding").each(
					function() {
						var e = i(this);
						e.transform("translate3d(0px,0,0)"), r.params.animateNavBackIcon && e.hasClass("left") && e.find(
							".back .icon").length > 0 && e.find(".back .icon").transform("translate3d(0px,0,0)")
					}), a.removeClass(n).addClass("navbar-from-center-to-right"), a.find(".sliding").each(function() {
					var e = i(this);
					r.params.animateNavBackIcon && e.hasClass("left") && e.find(".back .icon").length > 0 && e.find(
						".back .icon").transform("translate3d(" + -this.f7NavbarRightOffset + "px,0,0)"), e.transform(
						"translate3d(" + this.f7NavbarRightOffset + "px,0,0)")
				}))
			},
			preprocess: function(e, a, t, n) {
				r.pluginHook("routerPreprocess", e, a, t, n), a = r.pluginProcess("preprocess", a), e && e.params && e.params.preprocess ?
					void 0 !== (a = e.params.preprocess(a, t, n)) && n(a) : r.params.preprocess ? void 0 !== (a = r.params.preprocess(
						a, t, n)) && n(a) : n(a)
			},
			preroute: function(e, a, t) {
				return t && (a.isBack = !0), r.pluginHook("routerPreroute", e, a), !!(r.params.preroute && !1 === r.params.preroute(
					e, a) || e && e.params.preroute && !1 === e.params.preroute(e, a))
			},
			template7Render: function(e, a) {
				var t, n, o = a.url,
					l = a.content,
					p = a.content,
					d = a.context,
					c = a.contextName,
					u = a.template;
				if ("string" == typeof l ? o ? r.template7Cache[o] && !a.ignoreCache ? n = s.cache[o] : (n = s.compile(l), s.cache[
						o] = n) : n = s.compile(l) : u && (n = u), d) t = d, d && o && (e.contextCache[o] = d);
				else {
					if (c)
						if (c.indexOf(".") >= 0) {
							for (var m = c.split("."), f = s.data[m[0]], h = 1; h < m.length; h++) m[h] && (f = f[m[h]]);
							t = f
						} else t = s.data[c];
					if (!t && o && (t = s.data["url:" + o]), !t && "string" == typeof l && !u) {
						var g = l.match(/(data-page=["'][^"^']*["'])/);
						if (g) {
							var v = g[0].split("data-page=")[1].replace(/['"]/g, "");
							v && (t = s.data["page:" + v])
						}
					}
					if (!t && u && s.templates)
						for (var b in s.templates) s.templates[b] === u && (t = s.data[b]);
					!t && o && o in e.contextCache && (t = e.contextCache[o]), t || (t = {})
				}
				if (n && t) {
					if ("function" == typeof t && (t = t()), o) {
						var w = i.parseUrlQuery(o);
						t.url_query = {};
						for (var C in w) t.url_query[C] = w[C]
					}
					try {
						p = n(t)
					} catch (e) {
						p = "", window.console && window.console.error && console.error(e)
					}
				}
				return {
					content: p,
					context: t
				}
			}
		}, r.router._load = function(e, a) {
			function t() {
				e.allowPageChange = !0, n.removeClass("page-from-right-to-center page-on-right page-on-left").addClass(
						"page-on-center"), s.removeClass("page-from-center-to-left page-on-center page-on-right").addClass(
						"page-on-left"), u && (d.removeClass("navbar-from-right-to-center navbar-on-left navbar-on-right").addClass(
						"navbar-on-center"), p.removeClass("navbar-from-center-to-left navbar-on-center navbar-on-right").addClass(
						"navbar-on-left")), r.pageAnimCallback("after", e, {
						pageContainer: n[0],
						url: f,
						position: "right",
						oldPage: s,
						newPage: n,
						query: a.query,
						fromPage: s && s.length && s[0].f7PageData
					}), r.params.pushState && e.main && r.pushStateClearQueue(), e.params.swipeBackPage || e.params.preloadPreviousPage ||
					(e.params.domCache ? (s.addClass("cached"), u && p.addClass("cached")) : 0 === f.indexOf("#") && 0 === n.attr(
						"data-page").indexOf("smart-select-") || (r.pageRemoveCallback(e, s[0], "left"), u && r.navbarRemoveCallback(e,
						s[0], c[0], p[0]), r.router._remove(s), u && r.router._remove(p))), e.params.uniqueHistory && z && e.refreshPreviousPage()
			}
			r.pluginHook("routerLoad", e, a);
			var n, s, o, l, p, d, c, u, m, f = a.url,
				h = a.content,
				g = {
					content: a.content
				},
				v = a.template,
				b = a.pageName,
				w = i(e.container),
				C = i(e.pagesContainer),
				y = a.animatePages,
				x = void 0 === f && h || v,
				T = a.pushState,
				P = a.pageElement;
			if (void 0 === y && (y = e.params.animatePages), (r.params.template7Pages && "string" == typeof h || v) && (g = r.router
					.template7Render(e, a), g.content && !h && (h = g.content)), r.router.temporaryDom.innerHTML = "", !b && !P)
				if ("string" == typeof h || f && "string" == typeof h) r.router.temporaryDom.innerHTML = g.content;
				else if ("length" in h && h.length > 1)
				for (var k = 0; k < h.length; k++) i(r.router.temporaryDom).append(h[k]);
			else i(r.router.temporaryDom).append(h);
			if (m = a.reload && (a.reloadPrevious ? "left" : "center"), !(n = b ? C.find('.page[data-page="' + b + '"]') : P ?
					i(P) : r.router.findElement(".page", r.router.temporaryDom, e)) || 0 === n.length || b && e.activePage && e.activePage
				.name === b) return void(e.allowPageChange = !0);
			if (n.addClass(a.reload ? "page-on-" + m : "page-on-right"), o = C.children(".page:not(.cached)"), P && (o = o.filter(
					function(e, a) {
						if (a !== P) return a
					})), a.reload && a.reloadPrevious && 1 === o.length) return void(e.allowPageChange = !0);
			if (a.reload) s = o.eq(o.length - 1);
			else {
				if (o.length > 1) {
					for (l = 0; l < o.length - 2; l++) e.params.domCache ? i(o[l]).addClass("cached") : (r.pageRemoveCallback(e, o[l],
						"left"), r.router._remove(o[l]));
					e.params.domCache ? i(o[l]).addClass("cached") : (r.pageRemoveCallback(e, o[l], "left"), r.router._remove(o[l]))
				}
				s = C.children(".page:not(.cached)")
			}
			if (P && s.length > 1 && (s = s.filter(function(e, a) {
					if (a !== P) return a
				})), (e.params.domCache || P) && n.removeClass("cached"), e.params.dynamicNavbar)
				if (u = !0, d = b ? w.find('.navbar-inner[data-page="' + b + '"]') : r.router.findElement(".navbar-inner", r.router
						.temporaryDom, e), d && 0 !== d.length || (d = n.find(".navbar-inner"), d && 0 !== d.length ? d.parent(
						".navbar").length > 0 && d.prependTo(n) : u = !1), u && n.find(".navbar").length > 0 && r.router._remove(n.find(
						".navbar").filter(function(e, a) {
						return 0 === i(a).parents(r.router._modalsSelector).length
					})), c = w.children(".navbar"), a.reload) p = c.find(".navbar-inner:not(.cached):last-child");
				else if (p = c.find(".navbar-inner:not(.cached)"), p.length > 0) {
				for (l = 0; l < p.length - 1; l++) e.params.domCache ? i(p[l]).addClass("cached") : (r.navbarRemoveCallback(e, o[
					l], c[0], p[l]), r.router._remove(p[l]));
				d || 1 !== p.length || (e.params.domCache ? i(p[0]).addClass("cached") : (r.navbarRemoveCallback(e, o[0], c[0], p[
					0]), r.router._remove(p[0]))), p = c.find(".navbar-inner:not(.cached)")
			}
			if (u && (d.addClass(a.reload ? "navbar-on-" + m : "navbar-on-right"), (e.params.domCache || P) && d.removeClass(
					"cached"), n[0].f7RelatedNavbar = d[0], d[0].f7RelatedPage = n[0]), f) f && P && (e.pageElementsCache[f] = {
				page: n,
				navbarInner: d
			});
			else {
				var S = b || n.attr("data-page");
				f = x ? "#" + r.params.dynamicPageUrl.replace(/{{name}}/g, S).replace(/{{index}}/g, e.history.length - (a.reload ?
					1 : 0)) : "#" + S, e.params.domCache || (e.contentCache[f] = h), e.params.domCache && b && (e.pagesCache[f] = b)
			}
			if (r.params.pushState && !a.reloadPrevious && e.main) {
				void 0 === T && (T = !0);
				var M = r.params.pushStateRoot || "",
					O = a.reload ? "replaceState" : "pushState";
				T && (x || b ? x && h ? history[O]({
					content: "string" == typeof h ? h : "",
					url: f,
					viewIndex: r.views.indexOf(e)
				}, "", M + r.params.pushStateSeparator + f) : b && history[O]({
					pageName: b,
					url: f,
					viewIndex: r.views.indexOf(e)
				}, "", M + r.params.pushStateSeparator + f) : history[O]({
					url: f,
					viewIndex: r.views.indexOf(e)
				}, "", M + r.params.pushStateSeparator + f))
			}
			if (e.url = f, a.reload) {
				var E = e.history[e.history.length - (a.reloadPrevious ? 2 : 1)];
				E && 0 === E.indexOf("#") && E in e.contentCache && E !== f && -1 === e.history.indexOf(E) ? (e.contentCache[E] =
						null, delete e.contentCache[E]) : E && E in e.pageElementsCache && E !== f && (-1 === e.history.indexOf(E) || e
						.history.indexOf(E) === e.history.length - 1) && (e.pageElementsCache[E] = null, delete e.pageElementsCache[E]),
					E && E in e.contextCache && E !== f && (-1 === e.history.indexOf(E) || e.history.indexOf(E) === e.history.length -
						1) && (e.contextCache[E] = null, delete e.contextCache[E]), e.history[e.history.length - (a.reloadPrevious ? 2 :
						1)] = f
			} else e.history.push(f);
			var z = !1;
			if (e.params.uniqueHistory) {
				var L = e.history,
					I = f;
				if (e.params.uniqueHistoryIgnoreGetParameters)
					for (L = [], I = f.split("?")[0], l = 0; l < e.history.length; l++) L.push(e.history[l].split("?")[0]);
				L.indexOf(I) !== L.lastIndexOf(I) && (e.history = e.history.slice(0, L.indexOf(I)), e.history.push(f), z = !0)
			}
			if (a.reloadPrevious ? (s = s.prev(".page"), n.insertBefore(s), u && (p = p.prev(".navbar-inner"), d.insertAfter(p))) :
				(C.append(n[0]), u && c.append(d[0])), a.reload && (e.params.domCache && e.initialPages.indexOf(s[0]) >= 0 ? (s.addClass(
					"cached"), u && p.addClass("cached")) : (r.pageRemoveCallback(e, s[0], m), u && r.navbarRemoveCallback(e, s[0],
					c[0], p[0]), r.router._remove(s), u && r.router._remove(p))), r.pageInitCallback(e, {
					pageContainer: n[0],
					url: f,
					position: a.reload ? m : "right",
					navbarInnerContainer: u ? d && d[0] : void 0,
					oldNavbarInnerContainer: u ? p && p[0] : void 0,
					context: g.context || a.context,
					query: a.query,
					fromPage: s && s.length && s[0].f7PageData,
					reload: a.reload,
					reloadPrevious: a.reloadPrevious
				}), u && r.navbarInitCallback(e, n[0], c[0], d[0], f, a.reload ? m : "right"), a.reload) return e.allowPageChange = !
				0, void(z && e.refreshPreviousPage());
			u && y && r.router.prepareNavbar(d, p, "right");
			n[0].clientLeft;
			r.pageAnimCallback("before", e, {
				pageContainer: n[0],
				url: f,
				position: "right",
				oldPage: s,
				newPage: n,
				query: a.query,
				fromPage: s && s.length && s[0].f7PageData
			}), y ? (r.params.material && r.params.materialPageLoadDelay ? setTimeout(function() {
				r.router.animatePages(s, n, "to-left", e)
			}, r.params.materialPageLoadDelay) : r.router.animatePages(s, n, "to-left", e), u && setTimeout(function() {
				r.router.animateNavbars(p, d, "to-left", e)
			}, 0), n.animationEnd(function() {
				t()
			})) : (u && d.find(".sliding, .sliding .back .icon").transform(""), t())
		}, r.router.load = function(e, a) {
			function t(t) {
				r.router.preprocess(e, t, n, function(t) {
					a.content = t, r.router._load(e, a)
				})
			}
			if (a = a || {}, r.router.preroute(e, a)) return !1;
			var n = a.url,
				s = a.content,
				o = a.pageName,
				l = a.pageElement;
			o && o.indexOf("?") > 0 && (a.query = i.parseUrlQuery(o), a.pageName = o = o.split("?")[0]);
			var p = a.template;
			return !0 === e.params.reloadPages && (a.reload = !0), !!e.allowPageChange && (!(n && e.url === n && !a.reload &&
				!e.params.allowDuplicateUrls) && (e.allowPageChange = !1, r.xhr && e.xhr && e.xhr === r.xhr && (r.xhr.abort(),
				r.xhr = !1), s || o || l ? void t(s) : p ? void r.router._load(e, a) : a.url && "#" !== a.url ? void r.get(a.url,
				e, a.ignoreCache,
				function(a, r) {
					if (r) return void(e.allowPageChange = !0);
					t(a)
				}) : void(e.allowPageChange = !0)))
		}, r.router._back = function(e, a) {
			function t() {
				r.pageBackCallback("after", e, {
					pageContainer: l[0],
					url: h,
					position: "center",
					oldPage: l,
					newPage: p
				}), r.pageAnimCallback("after", e, {
					pageContainer: p[0],
					url: h,
					position: "left",
					oldPage: l,
					newPage: p,
					query: a.query,
					fromPage: l && l.length && l[0].f7PageData
				}), r.router.afterBack(e, l[0], p[0])
			}

			function n() {
				r.pageBackCallback("before", e, {
					pageContainer: l[0],
					url: h,
					position: "center",
					oldPage: l,
					newPage: p
				}), r.pageAnimCallback("before", e, {
					pageContainer: p[0],
					url: h,
					position: "left",
					oldPage: l,
					newPage: p,
					query: a.query,
					fromPage: l && l.length && l[0].f7PageData
				}), w ? (r.router.animatePages(p, l, "to-right", e), f && setTimeout(function() {
					r.router.animateNavbars(c, d, "to-right", e)
				}, 0), p.animationEnd(function() {
					t()
				})) : (f && c.find(".sliding, .sliding .back .icon").transform(""), t())
			}

			function s() {
				if (r.router.temporaryDom.innerHTML = "", "string" == typeof g || h && "string" == typeof g) r.router.temporaryDom
					.innerHTML = v.content;
				else if ("length" in g && g.length > 1)
					for (var a = 0; a < g.length; a++) i(r.router.temporaryDom).append(g[a]);
				else i(r.router.temporaryDom).append(g);
				p = P ? i(P) : r.router.findElement(".page", r.router.temporaryDom, e), e.params.dynamicNavbar && (c = r.router.findElement(
					".navbar-inner", r.router.temporaryDom, e))
			}

			function o() {
				if (!p || 0 === p.length) return void(e.allowPageChange = !0);
				if (e.params.dynamicNavbar && void 0 === f && (f = !(!c || 0 === c.length)), p.addClass("page-on-left").removeClass(
						"cached"), f && (u = k.children(".navbar"), m = u.find(".navbar-inner:not(.cached)"), c.addClass(
						"navbar-on-left").removeClass("cached")), x) {
					var t, s;
					if (t = i(M[M.length - 2]), f && (s = i(t[0] && t[0].f7RelatedNavbar || m[m.length - 2])), e.params.domCache &&
						e.initialPages.indexOf(t[0]) >= 0) t.length && t[0] !== p[0] && t.addClass("cached"), f && s.length && s[0] !==
						c[0] && s.addClass("cached");
					else {
						var o = f && s.length;
						t.length ? (r.pageRemoveCallback(e, t[0], "right"), o && r.navbarRemoveCallback(e, t[0], u[0], s[0]), r.router._remove(
							t), o && r.router._remove(s)) : o && (r.navbarRemoveCallback(e, t[0], u[0], s[0]), r.router._remove(s))
					}
					M = S.children(".page:not(.cached)"), f && (m = k.children(".navbar").find(".navbar-inner:not(.cached)")), e.history
						.indexOf(h) >= 0 ? e.history = e.history.slice(0, e.history.indexOf(h) + 2) : e.history[[e.history.length - 2]] ?
						e.history[e.history.length - 2] = h : e.history.unshift(h)
				}
				if (l = i(M[M.length - 1]), e.params.domCache && l[0] === p[0] && (l = S.children(".page.page-on-center"), 0 ===
						l.length && e.activePage && (l = i(e.activePage.container))), f && !d && (d = i(m[m.length - 1]), e.params.domCache &&
						(d[0] === c[0] && (d = u.children(".navbar-inner.navbar-on-center:not(.cached)")), 0 === d.length && (d = u.children(
							'.navbar-inner[data-page="' + l.attr("data-page") + '"]'))), 0 !== d.length && c[0] !== d[0] || (f = !1)), f &&
					(O && c.insertBefore(d), c[0].f7RelatedPage = p[0], p[0].f7RelatedNavbar = c[0]), O && p.insertBefore(l), r.pageInitCallback(
						e, {
							pageContainer: p[0],
							url: h,
							position: "left",
							navbarInnerContainer: f ? c[0] : void 0,
							oldNavbarInnerContainer: f ? d && d[0] : void 0,
							context: v.context,
							query: a.query,
							fromPage: l && l.length && l[0].f7PageData,
							preloadOnly: C
						}), f && r.navbarInitCallback(e, p[0], u[0], c[0], h, "right"), f && c.hasClass("navbar-on-left") && w && r.router
					.prepareNavbar(c, d, "left"), C) return void(e.allowPageChange = !0);
				e.url = h;
				p[0].clientLeft;
				n(), r.params.pushState && e.main && (void 0 === y && (y = !0), !C && history.state && y && history.back())
			}
			a = a || {}, r.pluginHook("routerBack", e, a);
			var l, p, d, c, u, m, f, h = a.url,
				g = a.content,
				v = {
					content: a.content
				},
				b = a.template,
				w = a.animatePages,
				C = a.preloadOnly,
				y = a.pushState,
				x = (a.ignoreCache, a.force),
				T = a.pageName,
				P = a.pageElement,
				k = i(e.container),
				S = i(e.pagesContainer),
				M = S.children(".page:not(.cached)"),
				O = !0;
			return void 0 === w && (w = e.params.animatePages), (r.params.template7Pages && "string" == typeof g || b) && (v =
					r.router.template7Render(e, a), v.content && !g && (g = v.content)), M.length > 1 && !x ? C ? void(e.allowPageChange = !
					0) : (e.url = e.history[e.history.length - 2], h = e.url, p = i(M[M.length - 2]), l = i(M[M.length - 1]), e.params
					.dynamicNavbar && (f = !0, m = k.children(".navbar").find(".navbar-inner:not(.cached)"), c = i(m[0]), d = i(m[1]),
						0 !== c.length && 0 !== d.length && d[0] !== c[0] || (f = !1)), O = !1, void o()) : x ? h && h === e.url || T &&
				e.activePage && e.activePage.name === T ? void(e.allowPageChange = !0) : g ? (s(), void o()) : T && e.params.domCache ?
				(T && (h = "#" + T), p = i(k).find('.page[data-page="' + T + '"]'), p[0].f7PageData && p[0].f7PageData.url && (h =
					p[0].f7PageData.url), e.params.dynamicNavbar && (c = i(k).children(".navbar").find('.navbar-inner[data-page="' +
						T + '"]'), 0 === c.length && p[0].f7RelatedNavbar && (c = i(p[0].f7RelatedNavbar)), 0 === c.length && p[0].f7PageData &&
					(c = i(p[0].f7PageData.navbarInnerContainer))), void o()) : P && h ? (p = i(P), e.params.dynamicNavbar && (c = p
					.find(".navbar-inner").filter(function(e, a) {
						return 0 === i(a).parents(r.router._modalsSelector).length
					}), c.length > 0 && (p.prepend(c), r.router._remove(p.find(".navbar").filter(function(e, a) {
						return 0 === i(a).parents(r.router._modalsSelector).length
					})))), void o()) : void(e.allowPageChange = !0) : (C || (e.url = e.history[e.history.length - 2], h = e.url), g ?
					(s(), void o()) : T ? (p = i(k).find('.page[data-page="' + T + '"]'), e.params.dynamicNavbar && (c = i(k).children(
						".navbar").find('.navbar-inner[data-page="' + T + '"]'), 0 === c.length && p[0].f7RelatedNavbar && (c = i(p[0]
						.f7RelatedNavbar)), 0 === c.length && p[0].f7PageData && (c = i(p[0].f7PageData.navbarInnerContainer))), void o()) :
					h && h in e.pageElementsCache ? (p = e.pageElementsCache[h].page, c = e.pageElementsCache[h].navbarInner, void o()) :
					void(e.allowPageChange = !0))
		}, r.router.back = function(e, a) {
			function t(t) {
				r.router.preprocess(e, t, n, function(t) {
					a.content = t, r.router._back(e, a)
				})
			}
			if (a = a || {}, r.router.preroute(e, a, !0)) return !1;
			var n = a.url,
				s = a.content,
				o = a.pageName,
				l = a.pageElement;
			o && o.indexOf("?") > 0 && (a.query = i.parseUrlQuery(o), a.pageName = o = o.split("?")[0]);
			var p = a.force;
			if (!e.allowPageChange) return !1;
			if (e.allowPageChange = !1, r.xhr && e.xhr && e.xhr === r.xhr && (r.xhr.abort(), r.xhr = !1), i(e.pagesContainer).find(
					".page:not(.cached)").length > 1 && !p) return void r.router._back(e, a);
			if (p) {
				if (!n && s) return void t(s);
				if (!n && o) return o && (n = "#" + o), void t();
				if (n && l) return void t();
				if (n) return void r.get(a.url, e, a.ignoreCache, function(a, r) {
					if (r) return void(e.allowPageChange = !0);
					t(a)
				})
			} else {
				if (n = e.history[e.history.length - 2] || a.url, a.url || (a.url = n), !n) return void(e.allowPageChange = !0);
				if (0 === n.indexOf("#") && e.contentCache[n]) return void t(e.contentCache[n]);
				if (0 === n.indexOf("#") && e.params.domCache) return o || (a.pageName = n.split("#")[1]), void t();
				if (n && n in e.pageElementsCache) t();
				else if (0 !== n.indexOf("#")) return void r.get(a.url, e, a.ignoreCache, function(a, r) {
					if (r) return void(e.allowPageChange = !0);
					t(a)
				})
			}
			e.allowPageChange = !0
		}, r.router.afterBack = function(e, a, t) {
			a = i(a), t = i(t), e.params.domCache && e.initialPages.indexOf(a[0]) >= 0 ? a.removeClass(
					"page-from-center-to-right").addClass("cached") : (r.pageRemoveCallback(e, a[0], "right"), r.router._remove(a)),
				t.removeClass("page-from-left-to-center page-on-left").addClass("page-on-center"), e.allowPageChange = !0;
			var n, s = e.history.pop();
			if (e.params.dynamicNavbar) {
				var o = i(e.container).children(".navbar").find(".navbar-inner:not(.cached)"),
					l = i(a[0].f7RelatedNavbar || o[1]);
				e.params.domCache && e.initialNavbars.indexOf(l[0]) >= 0 ? l.removeClass("navbar-from-center-to-right").addClass(
					"cached") : (r.navbarRemoveCallback(e, a[0], void 0, l[0]), r.router._remove(l)), n = i(o[0]).removeClass(
					"navbar-on-left navbar-from-left-to-center").addClass("navbar-on-center")
			}
			if (e.params.domCache && i(e.container).find(".page.cached").each(function() {
					var a = i(this),
						t = a[0].f7PageData && a[0].f7PageData.url;
					t && e.history.indexOf(t) < 0 && e.initialPages.indexOf(this) < 0 && (r.pageRemoveCallback(e, a[0], "right"), a[
							0].f7RelatedNavbar && e.params.dynamicNavbar && r.navbarRemoveCallback(e, a[0], void 0, a[0].f7RelatedNavbar),
						r.router._remove(a), a[0].f7RelatedNavbar && e.params.dynamicNavbar && r.router._remove(a[0].f7RelatedNavbar)
					)
				}), !e.params.domCache && s && s.indexOf("#") > -1 && s in e.contentCache && -1 === e.history.indexOf(s) && (e.contentCache[
					s] = null, delete e.contentCache[s]), s && s in e.pageElementsCache && -1 === e.history.indexOf(s) && (e.pageElementsCache[
					s] = null, delete e.pageElementsCache[s]), s && s in e.contextCache && -1 === e.history.indexOf(s) && (e.contextCache[
					s] = null, delete e.contextCache[s]), r.params.pushState && e.main && r.pushStateClearQueue(), e.params.preloadPreviousPage)
				if (e.params.domCache && e.history.length > 1) {
					var p, d, c = e.history[e.history.length - 2];
					c && e.pagesCache[c] ? (p = i(e.container).find('.page[data-page="' + e.pagesCache[c] + '"]'), p.next(".page")[0] !==
							t[0] && p.insertBefore(t), n && (d = i(e.container).children(".navbar").find('.navbar-inner[data-page="' + e.pagesCache[
									c] + '"]'), d && 0 !== d.length || (d = n.prev(".navbar-inner.cached")), d.next(".navbar-inner")[0] !== n[0] &&
								d.insertBefore(n))) : (p = t.prev(".page.cached"), n && (d = n.prev(".navbar-inner.cached"))), p && p.length >
						0 && p.removeClass("cached page-on-right page-on-center").addClass("page-on-left"), d && d.length > 0 && d.removeClass(
							"cached navbar-on-right navbar-on-center").addClass("navbar-on-left")
				} else r.router.back(e, {
					preloadOnly: !0
				})
		}, r.initClickEvents = function() {
			function e(e) {
				var a = i(this),
					t = i(e.target);
				if (!("a" === a[0].nodeName.toLowerCase() || a.parents("a").length > 0 || "a" === t[0].nodeName.toLowerCase() ||
						t.parents("a").length > 0)) {
					var n;
					if (r.params.scrollTopOnNavbarClick && a.is(".navbar .center")) {
						var s = a.parents(".navbar");
						n = s.parents(".page-content"), 0 === n.length && (s.parents(".page").length > 0 && (n = s.parents(".page").find(
							".page-content")), 0 === n.length && s.nextAll(".pages").length > 0 && (n = s.nextAll(".pages").find(
							".page:not(.page-on-left):not(.page-on-right):not(.cached)").find(".page-content")))
					}
					r.params.scrollTopOnStatusbarClick && a.is(".statusbar-overlay") && (n = i(".popup.modal-in").length > 0 ? i(
							".popup.modal-in").find(".page:not(.page-on-left):not(.page-on-right):not(.cached)").find(".page-content") :
						i(".panel.active").length > 0 ? i(".panel.active").find(
							".page:not(.page-on-left):not(.page-on-right):not(.cached)").find(".page-content") : i(
							".views > .view.active").length > 0 ? i(".views > .view.active").find(
							".page:not(.page-on-left):not(.page-on-right):not(.cached)").find(".page-content") : i(".views").find(
							".page:not(.page-on-left):not(.page-on-right):not(.cached)").find(".page-content")), n && n.length > 0 && (n.hasClass(
						"tab") && (n = n.parent(".tabs").children(".page-content.active")), n.length > 0 && n.scrollTop(0, 300))
				}
			}

			function a(e) {
				var a = i(this),
					t = a.attr("href"),
					n = "a" === a[0].nodeName.toLowerCase();
				if (n && (a.is(r.params.externalLinks) || t && t.indexOf("javascript:") >= 0)) return void(t && "_system" === a.attr(
					"target") && (e.preventDefault(), window.open(t, "_system")));
				var l = a.dataset();
				if (a.hasClass("smart-select") && r.smartSelectOpen && r.smartSelectOpen(a), a.hasClass("open-panel") && (1 ===
						i(".panel").length ? i(".panel").hasClass("panel-left") ? r.openPanel("left") : r.openPanel("right") : "right" ===
						l.panel ? r.openPanel("right") : r.openPanel("left")), a.hasClass("close-panel") && r.closePanel(), a.hasClass(
						"panel-overlay") && (i(".panel.active").trigger("panel:overlay-click"), r.params.panelsCloseByOutside && r.closePanel()),
					a.hasClass("open-popover")) {
					var p;
					p = l.popover ? l.popover : ".popover", r.popover(p, a)
				}
				a.hasClass("close-popover") && r.closeModal(".popover.modal-in");
				var d;
				a.hasClass("open-popup") && (d = l.popup ? l.popup : ".popup", r.popup(d)), a.hasClass("close-popup") && (d = l.popup ?
					l.popup : ".popup.modal-in", r.closeModal(d));
				var c;
				if (a.hasClass("open-login-screen") && (c = l.loginScreen ? l.loginScreen : ".login-screen", r.loginScreen(c)), a
					.hasClass("close-login-screen") && r.closeModal(".login-screen.modal-in"), a.hasClass("modal-overlay") && (i(
						".modal.modal-in").length > 0 && r.params.modalCloseByOutside && r.closeModal(".modal.modal-in"), i(
						".actions-modal.modal-in").length > 0 && r.params.actionsCloseByOutside && r.closeModal(
						".actions-modal.modal-in"), i(".popover.modal-in").length > 0 && r.params.popoverCloseByOutside && r.closeModal(
						".popover.modal-in")), a.hasClass("popup-overlay") && i(".popup.modal-in").length > 0 && r.params.popupCloseByOutside &&
					r.closeModal(".popup.modal-in"), a.hasClass("picker-modal-overlay") && i(".picker-modal.modal-in").length > 0 &&
					r.closeModal(".picker-modal.modal-in"), a.hasClass("close-picker")) {
					var u = i(".picker-modal.modal-in");
					u.length > 0 ? r.closeModal(u) : (u = i(".popover.modal-in .picker-modal"), u.length > 0 && r.closeModal(u.parents(
						".popover")))
				}
				if (a.hasClass("open-picker")) {
					var m;
					m = l.picker ? l.picker : ".picker-modal", r.pickerModal(m, a)
				}
				var f;
				if (a.hasClass("tab-link") && (f = !0, r.showTab(l.tab || a.attr("href"), a)), a.hasClass("swipeout-close") && r.swipeoutClose(
						a.parents(".swipeout-opened")), a.hasClass("swipeout-delete"))
					if (l.confirm) {
						var h = l.confirm,
							g = l.confirmTitle;
						g ? r.confirm(h, g, function() {
							r.swipeoutDelete(a.parents(".swipeout"))
						}, function() {
							l.closeOnCancel && r.swipeoutClose(a.parents(".swipeout"))
						}) : r.confirm(h, function() {
							r.swipeoutDelete(a.parents(".swipeout"))
						}, function() {
							l.closeOnCancel && r.swipeoutClose(a.parents(".swipeout"))
						})
					} else r.swipeoutDelete(a.parents(".swipeout"));
				if (a.hasClass("toggle-sortable") && r.sortableToggle(l.sortable), a.hasClass("open-sortable") && r.sortableOpen(
						l.sortable), a.hasClass("close-sortable") && r.sortableClose(l.sortable), a.hasClass("accordion-item-toggle") ||
					a.hasClass("item-link") && a.parent().hasClass("accordion-item")) {
					var v = a.parent(".accordion-item");
					0 === v.length && (v = a.parents(".accordion-item")), 0 === v.length && (v = a.parents("li")), r.accordionToggle(
						v)
				}
				if (a.hasClass("floating-button") && a.parent().hasClass("speed-dial") && a.parent().toggleClass(
						"speed-dial-opened"), a.hasClass("close-speed-dial") && i(".speed-dial-opened").removeClass("speed-dial-opened"),
					(!r.params.ajaxLinks || a.is(r.params.ajaxLinks)) && n && r.params.router) {
					n && e.preventDefault();
					var b = t && t.length > 0 && "#" !== t && !f,
						w = l.template;
					if (b || a.hasClass("back") || w) {
						var C;
						if (l.view ? C = i(l.view)[0].f7View : (C = a.parents("." + r.params.viewClass)[0] && a.parents("." + r.params.viewClass)[
								0].f7View) && C.params.linksView && ("string" == typeof C.params.linksView ? C = i(C.params.linksView)[0].f7View :
								C.params.linksView instanceof o && (C = C.params.linksView)), C || r.mainView && (C = r.mainView), !C) return;
						var y;
						if (w) t = void 0;
						else {
							if (t && 0 === t.indexOf("#") && "#" !== t) {
								if (!C.params.domCache) return;
								y = t.split("#")[1]
							}
							if ("#" === t && !a.hasClass("back")) return
						}
						var x;
						void 0 !== l.animatePages ? x = l.animatePages : (a.hasClass("with-animation") && (x = !0), a.hasClass(
							"no-animation") && (x = !1));
						var T = {
							animatePages: x,
							ignoreCache: l.ignoreCache,
							force: l.force,
							reload: l.reload,
							reloadPrevious: l.reloadPrevious,
							pageName: y,
							pushState: l.pushState,
							url: t
						};
						if (r.params.template7Pages) {
							T.contextName = l.contextName;
							var P = l.context;
							P && (T.context = JSON.parse(P))
						}
						w && w in s.templates && (T.template = s.templates[w]), a.hasClass("back") ? C.router.back(T) : C.router.load(T)
					}
				}
			}

			function t(e) {
				e.preventDefault()
			}
			if (i(document).on("click",
					"a, .open-panel, .close-panel, .panel-overlay, .modal-overlay, .popup-overlay, .swipeout-delete, .swipeout-close, .close-popup, .open-popup, .open-popover, .open-login-screen, .close-login-screen .smart-select, .toggle-sortable, .open-sortable, .close-sortable, .accordion-item-toggle, .close-picker, .picker-modal-overlay",
					a), (r.params.scrollTopOnNavbarClick || r.params.scrollTopOnStatusbarClick) && i(document).on("click",
					".statusbar-overlay, .navbar .center", e), r.support.touch && !r.device.android) {
				var n = !!r.support.passiveListener && {
					passive: !1,
					capture: !1
				};
				i(document).on(r.params.fastClicks ? "touchstart" : "touchmove",
					".panel-overlay, .modal-overlay, .preloader-indicator-overlay, .popup-overlay, .searchbar-overlay", t, n)
			}
		};
		var d = [];
		r.getSize = function() {
			var e = r.root.offset();
			r.width = r.root[0].offsetWidth, r.height = r.root[0].offsetHeight, r.left = e.left, r.top = e.top
		}, r.onResize = function(e) {
			d.push(e)
		}, r.offResize = function(e) {
			for (var a = 0; a < d.length; a++) d[a] === e && d.splice(a, 1)
		}, r.resize = function() {
			t(), r.getSize(), r.sizeNavbars && r.sizeNavbars();
			for (var e = 0; e < d.length; e++) d[e]()
		}, r.orientationchange = function() {
			r.device && r.device.minimalUi && (90 !== window.orientation && -90 !== window.orientation || (document.body.scrollTop =
				0)), t()
		}, r.initResize = function() {
			i(window).on("resize", r.resize), i(window).on("orientationchange", r.orientationchange), r.getSize()
		}, r.allowPanelOpen = !0, r.openPanel = function(e, a) {
			function t() {
				l.transitionEnd(function(e) {
					i(e.target).is(l) ? (n.hasClass("active") ? n.trigger("opened panel:opened") : n.trigger("closed panel:closed"),
						o.css({
							display: ""
						}), r.allowPanelOpen = !0) : t()
				})
			}
			if (void 0 === a && (a = !0), !r.allowPanelOpen) return !1;
			var n = i(".panel-" + e);
			if (0 === n.length || n.hasClass("active") || n.hasClass("panel-visible-by-breakpoint")) return !1;
			r.closePanel(), r.allowPanelOpen = !1;
			var s = n.hasClass("panel-reveal") ? "reveal" : "cover";
			n[a ? "removeClass" : "addClass"]("not-animated"), n.css({
				display: "block"
			}).addClass("active"), n.trigger("open panel:open");
			var o = i(".panel-overlay");
			o[a ? "removeClass" : "addClass"]("not-animated"), o.show(), n.find("." + r.params.viewClass).length > 0 && r.sizeNavbars &&
				r.sizeNavbars(n.find("." + r.params.viewClass)[0]);
			var l = (n[0].clientLeft, "reveal" === s ? i("." + r.params.viewsClass) : n);
			return a ? t() : (n.trigger("opened panel:opened"), o.css({
				display: ""
			}), r.allowPanelOpen = !0), i("body").addClass("with-panel-" + e + "-" + s), !0
		}, r.closePanel = function(e) {
			void 0 === e && (e = !0);
			var a = i(".panel.active");
			if (0 === a.length || a.hasClass("panel-visible-by-breakpoint")) return !1;
			var t = a.hasClass("panel-reveal") ? "reveal" : "cover",
				n = a.hasClass("panel-left") ? "left" : "right";
			a[e ? "removeClass" : "addClass"]("not-animated"), a.removeClass("active"), i(".panel-overlay").removeClass(
				"not-animated");
			var s = "reveal" === t ? i("." + r.params.viewsClass) : a;
			a.trigger("close panel:close"), r.allowPanelOpen = !1, e ? (s.transitionEnd(function() {
				a.hasClass("active") || (a.css({
					display: ""
				}), a.trigger("closed panel:closed"), i("body").removeClass("panel-closing"), r.allowPanelOpen = !0)
			}), i("body").addClass("panel-closing").removeClass("with-panel-" + n + "-" + t)) : (a.css({
				display: ""
			}), a.trigger("closed panel:closed"), a.removeClass("not-animated"), i("body").removeClass("with-panel-" + n +
				"-" + t), r.allowPanelOpen = !0)
		}, r.initPanelsBreakpoints = function() {
			function e() {
				r.params.panelLeftBreakpoint && t.length > 0 && (a = t.hasClass("panel-visible-by-breakpoint"), r.width >= r.params
					.panelLeftBreakpoint ? a || (i("body").removeClass("with-panel-left-reveal with-panel-left-cover"), t.css(
						"display", "").addClass("panel-visible-by-breakpoint").removeClass("active"), t.trigger(
						"open panel:open opened panel:opened"), s.css({
						"margin-left": t.width() + "px"
					}), r.allowPanelOpen = !0) : a && (t.css("display", "").removeClass("panel-visible-by-breakpoint active"), t.trigger(
						"close panel:close closed panel:closed"), s.css({
						"margin-left": ""
					}), r.allowPanelOpen = !0)), r.params.panelRightBreakpoint && n.length > 0 && (a = n.hasClass(
					"panel-visible-by-breakpoint"), r.width >= r.params.panelRightBreakpoint ? a || (i("body").removeClass(
					"with-panel-right-reveal with-panel-right-cover"), n.css("display", "").addClass(
					"panel-visible-by-breakpoint").removeClass("active"), n.trigger("open panel:open opened panel:opened"), s.css({
					"margin-right": n.width() + "px"
				}), r.allowPanelOpen = !0) : a && (n.css("display", "").removeClass("panel-visible-by-breakpoint active"), n.trigger(
					"close panel:close closed panel:closed"), s.css({
					"margin-right": ""
				}), r.allowPanelOpen = !0))
			}
			var a, t = i(".panel-left"),
				n = i(".panel-right"),
				s = r.root.children(".views");
			r.onResize(e), e()
		}, r.initSwipePanels = function() {
			function e(e) {
				if (r.allowPanelOpen && (r.params.swipePanel || r.params.swipePanelOnlyClose) && !o && !(i(
						".modal-in, .photo-browser-in").length > 0) && (r.params.swipePanelCloseOpposite || r.params.swipePanelOnlyClose ||
						!(i(".panel.active").length > 0) || n.hasClass("active")) && !(e.target && "input" === e.target.nodeName.toLowerCase() &&
						"range" === e.target.type || i(e.target).closest(".tabs-swipeable-wrap").length > 0)) {
					if (w.x = "touchstart" === e.type ? e.targetTouches[0].pageX : e.pageX, w.y = "touchstart" === e.type ? e.targetTouches[
							0].pageY : e.pageY, r.params.swipePanelCloseOpposite || r.params.swipePanelOnlyClose) {
						if (i(".panel.active").length > 0) s = i(".panel.active").hasClass("panel-left") ? "left" : "right";
						else {
							if (r.params.swipePanelOnlyClose) return;
							s = r.params.swipePanel
						}
						if (!s) return
					}
					if (n = i(".panel.panel-" + s), f = n.hasClass("active"), r.params.swipePanelActiveArea && !f) {
						if ("left" === s && w.x > r.params.swipePanelActiveArea) return;
						if ("right" === s && w.x < r.width - r.params.swipePanelActiveArea) return
					}
					l = !1, o = !0, p = void 0, d = (new Date).getTime(), v = void 0
				}
			}

			function a(e) {
				if (o && !e.f7PreventPanelSwipe) {
					var a = "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX,
						t = "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY;
					if (void 0 === p && (p = !!(p || Math.abs(t - w.y) > Math.abs(a - w.x))), p) return void(o = !1);
					if (!v) {
						if (v = a > w.x ? "to-right" : "to-left", "both" === s) {
							if (s = i(".panel.active").length > 0 ? i(".panel.active").hasClass("panel-left") ? "left" : "right" :
								"to-right" === v ? "left" : "right", r.params.swipePanelActiveArea > 0) {
								if ("left" === s && w.x > r.params.swipePanelActiveArea) return void(o = !1);
								if ("right" === s && w.x < r.width - r.params.swipePanelActiveArea) return void(o = !1)
							}
							n = i(".panel.panel-" + s)
						}
						if (n.hasClass("panel-visible-by-breakpoint")) return void(o = !1);
						if ("left" === s && "to-left" === v && !n.hasClass("active") || "right" === s && "to-right" === v && !n.hasClass(
								"active")) return void(o = !1)
					}
					if (r.params.swipePanelNoFollow) {
						return (new Date).getTime() - d < 300 && ("to-left" === v && ("right" === s && r.openPanel(s), "left" === s &&
							n.hasClass("active") && r.closePanel()), "to-right" === v && ("left" === s && r.openPanel(s), "right" === s &&
							n.hasClass("active") && r.closePanel())), o = !1, void(l = !1)
					}
					l || (g = n.hasClass("panel-cover") ? "cover" : "reveal", f || (n.show(), b.show()), h = n[0].offsetWidth, n.transition(
						0), n.find("." + r.params.viewClass).length > 0 && r.sizeNavbars && r.sizeNavbars(n.find("." + r.params.viewClass)[
						0])), l = !0, e.preventDefault();
					var y = f ? 0 : -r.params.swipePanelThreshold;
					"right" === s && (y = -y), c = a - w.x + y, "right" === s ? "cover" === g ? (u = c + (f ? 0 : h), u < 0 && (u =
						0), u > h && (u = h)) : (u = c - (f ? h : 0), u > 0 && (u = 0), u < -h && (u = -h)) : (u = c + (f ? h : 0), u <
						0 && (u = 0), u > h && (u = h)), "reveal" === g ? (C.transform("translate3d(" + u + "px,0,0)").transition(0),
						b.transform("translate3d(" + u + "px,0,0)").transition(0), n.trigger("panel:swipe", {
							progress: Math.abs(u / h)
						}), r.pluginHook("swipePanelSetTransform", C[0], n[0], Math.abs(u / h))) : ("left" === s && (u -= h), n.transform(
						"translate3d(" + u + "px,0,0)").transition(0), b.transition(0), m = 1 - Math.abs(u / h), b.css({
						opacity: m
					}), n.trigger("panel:swipe", {
						progress: Math.abs(u / h)
					}), r.pluginHook("swipePanelSetTransform", C[0], n[0], Math.abs(u / h)))
				}
			}

			function t(e) {
				if (!o || !l) return o = !1, void(l = !1);
				o = !1, l = !1;
				var a, t = (new Date).getTime() - d,
					p = 0 === u || Math.abs(u) === h;
				if (a = f ? "cover" === g ? 0 === u ? "reset" : t < 300 && Math.abs(u) > 0 ? "swap" : t >= 300 && Math.abs(u) < h /
					2 ? "reset" : "swap" : u === -h ? "reset" : t < 300 && Math.abs(u) >= 0 || t >= 300 && Math.abs(u) <= h / 2 ?
					"left" === s && u === h ? "reset" : "swap" : "reset" : "cover" === g ? 0 === u ? "swap" : t < 300 && Math.abs(u) >
					0 ? "swap" : t >= 300 && Math.abs(u) < h / 2 ? "swap" : "reset" : 0 === u ? "reset" : t < 300 && Math.abs(u) > 0 ||
					t >= 300 && Math.abs(u) >= h / 2 ? "swap" : "reset", "swap" === a && (r.allowPanelOpen = !0, f ? (r.closePanel(),
						p && (n.css({
							display: ""
						}), i("body").removeClass("panel-closing"))) : r.openPanel(s), p && (r.allowPanelOpen = !0)), "reset" === a)
					if (f) r.allowPanelOpen = !0, r.openPanel(s);
					else if (r.closePanel(), p) r.allowPanelOpen = !0, n.css({
					display: ""
				});
				else {
					var c = "reveal" === g ? C : n;
					n.trigger("close panel:close"), i("body").addClass("panel-closing"), c.transitionEnd(function() {
						n.hasClass("active") || (n.trigger("close panel:closed"), n.css({
							display: ""
						}), i("body").removeClass("panel-closing"), r.allowPanelOpen = !0)
					})
				}
				"reveal" === g && (C.transition(""), C.transform("")), n.transition("").transform(""), b.css({
					display: ""
				}).transform("").transition("").css("opacity", "")
			}
			var n, s;
			if (r.params.swipePanel) {
				if (n = i(".panel.panel-" + r.params.swipePanel), s = r.params.swipePanel, 0 === n.length && "both" !== s) return
			} else {
				if (!r.params.swipePanelOnlyClose) return;
				if (0 === i(".panel").length) return
			}
			var o, l, p, d, c, u, m, f, h, g, v, b = i(".panel-overlay"),
				w = {},
				C = i("." + r.params.viewsClass),
				y = !("touchstart" !== r.touchEvents.start || !r.support.passiveListener) && {
					passive: !0,
					capture: !1
				},
				x = !!r.support.passiveListener && {
					passive: !1,
					capture: !1
				};
			i(document).on(r.touchEvents.start, e, y), i(document).on(r.touchEvents.move, a, x), i(document).on(r.touchEvents.end,
				t, y)
		}, r.initImagesLazyLoad = function(e) {
			function a(e) {
				function t() {
					e.removeClass("lazy").addClass("lazy-loaded"), s ? e.css("background-image", "url(" + o + ")") : e.attr("src", o),
						r.params.imagesLazyLoadSequential && (u = !1, c.length > 0 && a(c.shift())), e.trigger("lazy-loaded"), r.params
						.onLazyLoaded && r.params.onLazyLoaded(e)
				}

				function n() {
					e.removeClass("lazy").addClass("lazy-loaded"), s ? e.css("background-image", "url(" + d + ")") : e.attr("src", d),
						r.params.imagesLazyLoadSequential && (u = !1, c.length > 0 && a(c.shift())), e.trigger("lazy-error"), r.params.onLazyError &&
						r.params.onLazyError(e)
				}
				e = i(e);
				var s = e.attr("data-background"),
					o = s || e.attr("data-src");
				if (o) {
					if (r.params.imagesLazyLoadSequential && u) return void(c.indexOf(e[0]) < 0 && c.push(e[0]));
					u = !0;
					var l = new Image;
					l.onload = t, l.onerror = n, l.src = o, e.trigger("lazy-load"), r.params.onLazyLoad && !e.hasClass("lazy-loaded") &&
						r.params.onLazyLoad(e)
				}
			}

			function t() {
				l = e.find(".lazy"), l.each(function(e, t) {
					t = i(t), t.parents(".tab:not(.active)").length > 0 || n(t[0]) && a(t)
				})
			}

			function n(e) {
				var a = e.getBoundingClientRect(),
					t = r.params.imagesLazyLoadThreshold || 0;
				return a.top >= 0 - t && a.left >= 0 - t && a.top <= r.height + t && a.left <= r.width + t
			}

			function s(a) {
				var n = a ? "off" : "on";
				l[n]("lazy", t), l.parents(".tab")[n]("show", t), e[n]("lazy", t), p[n]("lazy", t), p[n]("scroll", t), r["on" ===
					n ? "onResize" : "offResize"](t)
			}

			function o() {
				s(!0)
			}
			e = i(e);
			var l;
			if (e.hasClass("lazy") ? (l = e, e = l.parents(".page")) : l = e.find(".lazy"), 0 !== l.length) {
				var p;
				if (e.hasClass("page-content") ? (p = e, e = e.parents(".page")) : p = e.find(".page-content"), 0 !== p.length) {
					var d =
						"";
					"string" == typeof r.params.imagesLazyLoadPlaceholder && (d = r.params.imagesLazyLoadPlaceholder), !1 !== r.params
						.imagesLazyLoadPlaceholder && l.each(function() {
							i(this).attr("data-src") && !i(this).attr("src") && i(this).attr("src", d)
						});
					var c = [],
						u = !1;
					e[0].f7DestroyImagesLazyLoad = o, s(), e.hasClass("page") && e.once("page:beforeremove", o), t(), e.once(
						"page:afteranimation", t)
				}
			}
		}, r.destroyImagesLazyLoad = function(e) {
			e = i(e), e.length > 0 && e[0].f7DestroyImagesLazyLoad && e[0].f7DestroyImagesLazyLoad()
		}, r.reinitImagesLazyLoad = function(e) {
			e = i(e), e.length > 0 && e.trigger("lazy")
		}, r.initPageMaterialPreloader = function(e) {
			i(e).find(".preloader").each(function() {
				0 === i(this).children().length && i(this).html(r.params.materialPreloaderHtml)
			})
		}, r.accordionToggle = function(e) {
			e = i(e), 0 !== e.length && (e.hasClass("accordion-item-expanded") ? r.accordionClose(e) : r.accordionOpen(e))
		}, r.accordionOpen = function(e) {
			e = i(e);
			var a = e.parents(".accordion-list").eq(0),
				t = e.children(".accordion-item-content");
			0 === t.length && (t = e.find(".accordion-item-content"));
			var n = a.length > 0 && e.parent().children(".accordion-item-expanded");
			n.length > 0 && r.accordionClose(n), t.css("height", t[0].scrollHeight + "px").transitionEnd(function() {
				if (e.hasClass("accordion-item-expanded")) {
					t.transition(0), t.css("height", "auto");
					t[0].clientLeft;
					t.transition(""), e.trigger("opened accordion:opened")
				} else t.css("height", ""), e.trigger("closed accordion:closed")
			}), e.trigger("open accordion:open"), e.addClass("accordion-item-expanded")
		}, r.accordionClose = function(e) {
			e = i(e);
			var a = e.children(".accordion-item-content");
			0 === a.length && (a = e.find(".accordion-item-content")), e.removeClass("accordion-item-expanded"), a.transition(
				0), a.css("height", a[0].scrollHeight + "px");
			a[0].clientLeft;
			a.transition(""), a.css("height", "").transitionEnd(function() {
				if (e.hasClass("accordion-item-expanded")) {
					a.transition(0), a.css("height", "auto");
					a[0].clientLeft;
					a.transition(""), e.trigger("opened accordion:opened")
				} else a.css("height", ""), e.trigger("closed accordion:closed")
			}), e.trigger("close accordion:close")
		};
		var c = function(e, a) {
			function t(e) {
				e.preventDefault()
			}
			var n = {
				input: null,
				clearButton: null,
				cancelButton: null,
				searchList: null,
				searchIn: ".item-title",
				searchBy: "",
				found: null,
				notFound: null,
				overlay: null,
				ignore: ".searchbar-ignore",
				customSearch: !1,
				removeDiacritics: !1,
				hideDividers: !0,
				hideGroups: !0
			};
			a = a || {};
			for (var s in n)(void 0 === a[s] || null === a[s] && n.hasOwnProperty(s)) && (a[s] = n[s]);
			var o = this;
			o.material = r.params.material, o.params = a, e = i(e), o.container = e, o.active = !1, o.input = o.params.input ?
				i(o.params.input) : o.container.find('input[type="search"]'), o.clearButton = o.params.clearButton ? i(o.params.clearButton) :
				o.container.find(".searchbar-clear"), o.cancelButton = o.params.cancelButton ? i(o.params.cancelButton) : o.container
				.find(".searchbar-cancel"), o.searchList = i(o.params.searchList), o.isVirtualList = o.searchList.hasClass(
					"virtual-list"), o.pageContainer = o.container.parents(".page").eq(0), o.params.overlay ? o.overlay = i(o.params
					.overlay) : o.overlay = o.pageContainer.length > 0 ? o.pageContainer.find(".searchbar-overlay") : i(
					".searchbar-overlay"), o.params.found ? o.found = i(o.params.found) : o.found = o.pageContainer.length > 0 ? o.pageContainer
				.find(".searchbar-found") : i(".searchbar-found"), o.params.notFound ? o.notFound = i(o.params.notFound) : o.notFound =
				o.pageContainer.length > 0 ? o.pageContainer.find(".searchbar-not-found") : i(".searchbar-not-found");
			var l = r.rtl ? "margin-left" : "margin-right",
				p = !1;
			o.setCancelButtonMargin = function() {
				o.cancelButton.transition(0).show(), o.cancelButton.css(l, -o.cancelButton[0].offsetWidth + "px");
				o.cancelButton[0].clientLeft;
				o.cancelButton.transition(""), p = !0
			}, o.triggerEvent = function(e, a, t) {
				o.container.trigger(e, t), o.searchList.length > 0 && o.searchList.trigger(e, t), a && o.params[a] && o.params[a]
					(o, t)
			}, o.enable = function(e) {
				function a() {
					!o.searchList.length && !o.params.customSearch || o.container.hasClass("searchbar-active") || o.query || o.overlay
						.addClass("searchbar-overlay-active"), o.container.addClass("searchbar-active"), o.cancelButton.length > 0 &&
						!o.material && (p || o.setCancelButtonMargin(), o.cancelButton.css(l, "0px")), o.triggerEvent(
							"enableSearch searchbar:enable", "onEnable"), o.active = !0
				}
				r.device.ios && !r.params.material && e && "focus" === e.type ? setTimeout(function() {
					a()
				}, 400) : a()
			}, o.disable = function() {
				function e() {
					o.input.blur()
				}
				o.input.val("").trigger("change"), o.container.removeClass("searchbar-active searchbar-not-empty"), o.cancelButton
					.length > 0 && !o.material && o.cancelButton.css(l, -o.cancelButton[0].offsetWidth + "px"), (o.searchList.length ||
						o.params.customSearch) && o.overlay.removeClass("searchbar-overlay-active"), o.active = !1, r.device.ios ?
					setTimeout(function() {
						e()
					}, 400) : e(), o.triggerEvent("disableSearch searchbar:disable", "onDisable")
			}, o.clear = function(e) {
				if (!o.query && e && i(e.target).hasClass("searchbar-clear")) return void o.disable();
				var a = o.value;
				o.input.val("").trigger("change").focus(), o.triggerEvent("clearSearch searchbar:clear", "onClear", {
					previousQuery: a
				})
			}, o.handleInput = function() {
				setTimeout(function() {
					var e = o.input.val().trim();
					(o.searchList.length > 0 || o.params.customSearch) && (o.params.searchIn || o.isVirtualList) && o.search(e, !
						0)
				}, 0)
			};
			var d, c = "";
			return o.search = function(e, a) {
				if (e.trim() !== c) {
					if (c = e.trim(), a || (o.active || o.enable(), o.input.val(e)), o.query = o.value = e, 0 === e.length ? (o.container
							.removeClass("searchbar-not-empty"), o.searchList.length && o.container.hasClass("searchbar-active") && o.overlay
							.addClass("searchbar-overlay-active")) : (o.container.addClass("searchbar-not-empty"), o.searchList.length &&
							o.container.hasClass("searchbar-active") && o.overlay.removeClass("searchbar-overlay-active")), o.params.customSearch)
						return void o.triggerEvent("search searchbar:search", "onSearch", {
							query: e
						});
					var t, r = [];
					if (o.isVirtualList) {
						if (d = o.searchList[0].f7VirtualList, "" === e.trim()) return d.resetFilter(), o.notFound.hide(), void o.found
							.show();
						if (t = o.params.removeDiacritics ? i.removeDiacritics(e) : e, d.params.searchAll) r = d.params.searchAll(t, d
							.items) || [];
						else if (d.params.searchByItem)
							for (var n = 0; n < d.items.length; n++) d.params.searchByItem(t, n, d.params.items[n]) && r.push(n)
					} else {
						var s;
						s = o.params.removeDiacritics ? i.removeDiacritics(e.trim().toLowerCase()).split(" ") : e.trim().toLowerCase()
							.split(" "), o.searchList.find("li").removeClass("hidden-by-searchbar").each(function(e, a) {
								a = i(a);
								var t = [];
								a.find(o.params.searchIn).each(function() {
									var e = i(this).text().trim().toLowerCase();
									o.params.removeDiacritics && (e = i.removeDiacritics(e)), t.push(e)
								}), t = t.join(" ");
								for (var n = 0, l = 0; l < s.length; l++) t.indexOf(s[l]) >= 0 && n++;
								n === s.length || o.params.ignore && a.is(o.params.ignore) ? r.push(a[0]) : a.addClass(
									"hidden-by-searchbar")
							}), o.params.hideDividers && o.searchList.find(".item-divider, .list-group-title").each(function() {
								for (var e = i(this), a = e.nextAll("li"), t = !0, r = 0; r < a.length; r++) {
									var n = i(a[r]);
									if (n.hasClass("list-group-title") || n.hasClass("item-divider")) break;
									n.hasClass("hidden-by-searchbar") || (t = !1)
								}
								var s = o.params.ignore && e.is(o.params.ignore);
								t && !s ? e.addClass("hidden-by-searchbar") : e.removeClass("hidden-by-searchbar")
							}), o.params.hideGroups && o.searchList.find(".list-group").each(function() {
								var e = i(this),
									a = o.params.ignore && e.is(o.params.ignore);
								0 !== e.find("li:not(.hidden-by-searchbar)").length || a ? e.removeClass("hidden-by-searchbar") : e.addClass(
									"hidden-by-searchbar")
							})
					}
					o.triggerEvent("search searchbar:search", "onSearch", {
							query: e,
							foundItems: r
						}), 0 === r.length ? (o.notFound.show(), o.found.hide()) : (o.notFound.hide(), o.found.show()), o.isVirtualList &&
						d.filterItems(r)
				}
			}, o.attachEvents = function(e) {
				var a = e ? "off" : "on";
				o.container[a]("submit", t), o.material || o.cancelButton[a]("click", o.disable), o.overlay[a]("click", o.disable),
					o.input[a]("focus", o.enable), o.input[a]("change keydown keypress keyup", o.handleInput), o.clearButton[a](
						"click", o.clear)
			}, o.detachEvents = function() {
				o.attachEvents(!0)
			}, o.init = function() {
				o.attachEvents()
			}, o.destroy = function() {
				o && (o.detachEvents(), o = null)
			}, o.init(), o.container[0].f7Searchbar = o, o
		};
		r.searchbar = function(e, a) {
			return new c(e, a)
		}, r.initSearchbar = function(e) {
			function a() {
				n && n.destroy()
			}
			e = i(e);
			var t = e.hasClass("searchbar") ? e : e.find(".searchbar");
			if (0 !== t.length && t.hasClass("searchbar-init")) {
				var n = r.searchbar(t, t.dataset());
				e.hasClass("page") ? e.once("pageBeforeRemove", a) : e.hasClass("navbar-inner") && e.once("navbarBeforeRemove", a)
			}
		};
		var u = function(e, a) {
			function t(e) {
				e.preventDefault()
			}
			var r = {
				textarea: null,
				maxHeight: null
			};
			a = a || {};
			for (var n in r) void 0 !== a[n] && null !== a[n] || (a[n] = r[n]);
			var s = this;
			if (s.params = a, s.container = i(e), 0 !== s.container.length) return s.textarea = s.params.textarea ? i(s.params
					.textarea) : s.container.find("textarea"), s.pageContainer = s.container.parents(".page").eq(0), s.pageContent =
				s.pageContainer.find(".page-content"), s.pageContentPadding = parseInt(s.pageContent.css("padding-bottom")), s.initialBarHeight =
				s.container[0].offsetHeight, s.initialAreaHeight = s.textarea[0].offsetHeight, s.sizeTextarea = function() {
					s.textarea.css({
						height: ""
					});
					var e = s.textarea[0].offsetHeight,
						a = e - s.textarea[0].clientHeight,
						t = s.textarea[0].scrollHeight;
					if (t + a > e) {
						var r = t + a,
							n = s.initialBarHeight + (r - s.initialAreaHeight),
							i = s.params.maxHeight || s.container.parents(".view")[0].offsetHeight - 88;
						n > i && (n = parseInt(i, 10), r = n - s.initialBarHeight + s.initialAreaHeight), s.textarea.css("height", r +
							"px"), s.container.css("height", n + "px");
						var o = s.pageContent[0].scrollTop === s.pageContent[0].scrollHeight - s.pageContent[0].offsetHeight;
						s.pageContent.length > 0 && (s.pageContent.css("padding-bottom", n + "px"), 0 === s.pageContent.find(
							".messages-new-first").length && o && s.pageContent.scrollTop(s.pageContent[0].scrollHeight - s.pageContent[
							0].offsetHeight))
					} else s.pageContent.length > 0 && (s.container.css({
						height: "",
						bottom: ""
					}), s.pageContent.css({
						"padding-bottom": ""
					}))
				}, s.clear = function() {
					s.textarea.val("").trigger("change")
				}, s.value = function(e) {
					if (void 0 === e) return s.textarea.val();
					s.textarea.val(e).trigger("change")
				}, s.textareaTimeout = void 0, s.handleTextarea = function(e) {
					clearTimeout(s.textareaTimeout), s.textareaTimeout = setTimeout(function() {
						s.sizeTextarea()
					}, 0)
				}, s.attachEvents = function(e) {
					var a = e ? "off" : "on";
					s.container[a]("submit", t), s.textarea[a]("change keydown keypress keyup paste cut", s.handleTextarea)
				}, s.detachEvents = function() {
					s.attachEvents(!0)
				}, s.init = function() {
					s.attachEvents()
				}, s.destroy = function() {
					s.detachEvents(), s = null
				}, s.init(), s.container[0].f7Messagebar = s, s
		};
		r.messagebar = function(e, a) {
			return new u(e, a)
		}, r.initPageMessagebar = function(e) {
			function a() {
				n.destroy(), e.off("page:beforeremove", a)
			}
			e = i(e);
			var t = e.hasClass("messagebar") ? e : e.find(".messagebar");
			if (0 !== t.length && t.hasClass("messagebar-init")) {
				var n = r.messagebar(t, t.dataset());
				e.hasClass("page") && e.on("page:beforeremove", a)
			}
		};
		var m = function(e, a) {
			var t = {
				autoLayout: !0,
				newMessagesFirst: !1,
				scrollMessages: !0,
				scrollMessagesOnlyOnEdge: !1,
				messageTemplate: '{{#if day}}<div class="messages-date">{{day}} {{#if time}}, <span>{{time}}</span>{{/if}}</div>{{/if}}<div class="message message-{{type}} {{#if hasImage}}message-pic{{/if}} {{#if avatar}}message-with-avatar{{/if}} {{#if position}}message-appear-from-{{position}}{{/if}}">{{#if name}}<div class="message-name">{{name}}</div>{{/if}}<div class="message-text">{{text}}{{#if date}}<div class="message-date">{{date}}</div>{{/if}}</div>{{#if avatar}}<div class="message-avatar" style="background-image:url({{avatar}})"></div>{{/if}}{{#if label}}<div class="message-label">{{label}}</div>{{/if}}</div>'
			};
			a = a || {};
			for (var r in t) void 0 !== a[r] && null !== a[r] || (a[r] = t[r]);
			var n = this;
			if (n.params = a, n.container = i(e), 0 !== n.container.length) return n.params.autoLayout && n.container.addClass(
					"messages-auto-layout"), n.params.newMessagesFirst && n.container.addClass("messages-new-first"), n.pageContainer =
				n.container.parents(".page").eq(0), n.pageContent = n.pageContainer.find(".page-content"), n.template =
				Template7.compile(n.params.messageTemplate), n.layout = function() {
					n.container.hasClass("messages-auto-layout") || n.container.addClass("messages-auto-layout"), n.container.find(
						".message").each(function() {
						var e = i(this);
						if (e.find(".message-text img").length > 0) {
							for (var a = e.find(".message-text")[0].childNodes, t = !0, r = 0; r < a.length; r++) 1 === a[r].nodeType &&
								"img" !== a[r].nodeName.toLowerCase() && (t = !1), 3 === a[r].nodeType && "" !== a[r].textContent.trim() &&
								(t = !1);
							t ? e.addClass("message-pic") : e.removeClass("message-pic")
						}
						e.find(".message-avatar").length > 0 && e.addClass("message-with-avatar")
					}), n.container.find(".message").each(function() {
						var e = i(this),
							a = e.hasClass("message-sent"),
							t = e.next(".message-" + (a ? "sent" : "received")),
							r = e.prev(".message-" + (a ? "sent" : "received"));
						0 === t.length ? e.addClass("message-last message-with-tail") : e.removeClass(
								"message-last message-with-tail"), 0 === r.length ? e.addClass("message-first") : e.removeClass(
								"message-first"), r.length > 0 && r.find(".message-name").length > 0 && e.find(".message-name").length > 0 &&
							r.find(".message-name").text() !== e.find(".message-name").text() && (r.addClass(
								"message-last message-with-tail"), e.addClass("message-first"))
					})
				}, n.appendMessage = function(e, a) {
					return n.addMessage(e, "append", a)
				}, n.prependMessage = function(e, a) {
					return n.addMessage(e, "prepend", a)
				}, n.addMessage = function(e, a, t) {
					return n.addMessages([e], a, t)
				}, n.addMessages = function(e, a, t) {
					void 0 === t && (t = !0), void 0 === a && (a = n.params.newMessagesFirst ? "prepend" : "append");
					var r, i = "";
					for (r = 0; r < e.length; r++) {
						var s = e[r] || {};
						s.type = s.type || "sent", s.text && (s.hasImage = s.text.indexOf("<img") >= 0, !1 === s.onlyImage && (s.hasImage = !
							1), t && (s.position = "append" === a ? "bottom" : "top"), i += n.template(s))
					}
					var o = n.pageContent[0].scrollHeight,
						l = n.pageContent[0].offsetHeight,
						p = n.pageContent[0].scrollTop;
					if (n.container[a](i), n.params.autoLayout && n.layout(), "prepend" === a && (n.pageContent[0].scrollTop = p +
							(n.pageContent[0].scrollHeight - o)), n.params.scrollMessages && "append" === a && !n.params.newMessagesFirst ||
						"prepend" === a && n.params.newMessagesFirst)
						if (n.params.scrollMessagesOnlyOnEdge) {
							var d = !1;
							n.params.newMessagesFirst ? 0 === p && (d = !0) : p - (o - l) >= -10 && (d = !0), d && n.scrollMessages(t ?
								void 0 : 0)
						} else n.scrollMessages(t ? void 0 : 0);
					var c = n.container.find(".message");
					if (1 === e.length) return "append" === a ? c[c.length - 1] : c[0];
					var u = [];
					if ("append" === a)
						for (r = c.length - e.length; r < c.length; r++) u.push(c[r]);
					else
						for (r = 0; r < e.length; r++) u.push(c[r]);
					return u
				}, n.removeMessage = function(e) {
					return e = i(e), 0 !== e.length && (e.remove(), n.params.autoLayout && n.layout(), !0)
				}, n.removeMessages = function(e) {
					n.removeMessage(e)
				}, n.clean = function() {
					n.container.html("")
				}, n.scrollMessages = function(e, a) {
					void 0 === e && (e = 400);
					var t, r = n.pageContent[0].scrollTop;
					if (void 0 !== a) t = a;
					else if ((t = n.params.newMessagesFirst ? 0 : n.pageContent[0].scrollHeight - n.pageContent[0].offsetHeight) ===
						r) return;
					n.pageContent.scrollTop(t, e)
				}, n.init = function() {
					n.params.messages ? n.addMessages(n.params.messages, void 0, !1) : (n.params.autoLayout && n.layout(), n.scrollMessages(
						0))
				}, n.destroy = function() {
					n = null
				}, n.init(), n.container[0].f7Messages = n, n
		};
		r.messages = function(e, a) {
			return new m(e, a)
		}, r.initPageMessages = function(e) {
			function a() {
				n.destroy(), e.off("page:beforeremove", a)
			}
			e = i(e);
			var t = e.find(".messages");
			if (0 !== t.length && t.hasClass("messages-init")) {
				var n = r.messages(t, t.dataset());
				e.hasClass("page") && e.on("page:beforeremove", a)
			}
		};
		var f = document.createElement("div");
		r.modalStack = [], r.modalStackClearQueue = function() {
			r.modalStack.length && r.modalStack.shift()()
		}, r.modal = function(e) {
			e = e || {};
			var a = "";
			if (r.params.modalTemplate) r._compiledTemplates.modal || (r._compiledTemplates.modal = s.compile(r.params.modalTemplate)),
				a = r._compiledTemplates.modal(e);
			else {
				var t = "";
				if (e.buttons && e.buttons.length > 0)
					for (var n = 0; n < e.buttons.length; n++) t += '<span class="modal-button' + (e.buttons[n].bold ?
						" modal-button-bold" : "") + '">' + e.buttons[n].text + "</span>";
				var o = e.title ? '<div class="modal-title">' + e.title + "</div>" : "",
					l = e.text ? '<div class="modal-text">' + e.text + "</div>" : "",
					p = e.afterText ? e.afterText : "",
					d = e.buttons && 0 !== e.buttons.length ? "" : "modal-no-buttons",
					c = e.verticalButtons ? "modal-buttons-vertical" : "",
					u = e.buttons && e.buttons.length > 0 ? '<div class="modal-buttons modal-buttons-' + e.buttons.length + " " + c +
					'">' + t + "</div>" : "";
				a = '<div class="modal ' + d + " " + (e.cssClass || "") + '"><div class="modal-inner">' + (o + l + p) + "</div>" +
					u + "</div>"
			}
			f.innerHTML = a;
			var m = i(f).children();
			return r.root.append(m[0]), m.find(".modal-button").each(function(a, t) {
				i(t).on("click", function(t) {
					!1 !== e.buttons[a].close && r.closeModal(m), e.buttons[a].onClick && e.buttons[a].onClick(m, t), e.onClick &&
						e.onClick(m, a)
				})
			}), r.openModal(m), m[0]
		}, r.alert = function(e, a, t) {
			return "function" == typeof a && (t = arguments[1], a = void 0), r.modal({
				text: e || "",
				title: void 0 === a ? r.params.modalTitle : a,
				buttons: [{
					text: r.params.modalButtonOk,
					bold: !0,
					onClick: t
				}]
			})
		}, r.confirm = function(e, a, t, n) {
			return "function" == typeof a && (n = arguments[2], t = arguments[1], a = void 0), r.modal({
				text: e || "",
				title: void 0 === a ? r.params.modalTitle : a,
				buttons: [{
					text: r.params.modalButtonCancel,
					onClick: n
				}, {
					text: r.params.modalButtonOk,
					bold: !0,
					onClick: t
				}]
			})
		}, r.prompt = function(e, a, t, n) {
			return "function" == typeof a && (n = arguments[2], t = arguments[1], a = void 0), r.modal({
				text: e || "",
				title: void 0 === a ? r.params.modalTitle : a,
				afterText: '<div class="input-field"><input type="text" class="modal-text-input"></div>',
				buttons: [{
					text: r.params.modalButtonCancel
				}, {
					text: r.params.modalButtonOk,
					bold: !0
				}],
				onClick: function(e, a) {
					0 === a && n && n(i(e).find(".modal-text-input").val()), 1 === a && t && t(i(e).find(".modal-text-input").val())
				}
			})
		}, r.modalLogin = function(e, a, t, n) {
			return "function" == typeof a && (n = arguments[2], t = arguments[1], a = void 0), r.modal({
				text: e || "",
				title: void 0 === a ? r.params.modalTitle : a,
				afterText: '<div class="input-field modal-input-double"><input type="text" name="modal-username" placeholder="' +
					r.params.modalUsernamePlaceholder +
					'" class="modal-text-input"></div><div class="input-field modal-input-double"><input type="password" name="modal-password" placeholder="' +
					r.params.modalPasswordPlaceholder + '" class="modal-text-input"></div>',
				buttons: [{
					text: r.params.modalButtonCancel
				}, {
					text: r.params.modalButtonOk,
					bold: !0
				}],
				onClick: function(e, a) {
					var r = i(e).find('.modal-text-input[name="modal-username"]').val(),
						s = i(e).find('.modal-text-input[name="modal-password"]').val();
					0 === a && n && n(r, s), 1 === a && t && t(r, s)
				}
			})
		}, r.modalPassword = function(e, a, t, n) {
			return "function" == typeof a && (n = arguments[2], t = arguments[1], a = void 0), r.modal({
				text: e || "",
				title: void 0 === a ? r.params.modalTitle : a,
				afterText: '<div class="input-field"><input type="password" name="modal-password" placeholder="' + r.params.modalPasswordPlaceholder +
					'" class="modal-text-input"></div>',
				buttons: [{
					text: r.params.modalButtonCancel
				}, {
					text: r.params.modalButtonOk,
					bold: !0
				}],
				onClick: function(e, a) {
					var r = i(e).find('.modal-text-input[name="modal-password"]').val();
					0 === a && n && n(r), 1 === a && t && t(r)
				}
			})
		}, r.showPreloader = function(e) {
			return r.modal({
				title: e || r.params.modalPreloaderTitle,
				text: '<div class="preloader">' + (r.params.material ? r.params.materialPreloaderHtml : "") + "</div>",
				cssClass: "modal-preloader"
			})
		}, r.hidePreloader = function() {
			r.closeModal(".modal-preloader")
		}, r.showIndicator = function() {
			i(".preloader-indicator-overlay").length > 0 || r.root.append(
				'<div class="preloader-indicator-overlay"></div><div class="preloader-indicator-modal"><span class="preloader preloader-white">' +
				(r.params.material ? r.params.materialPreloaderHtml : "") + "</span></div>")
		}, r.hideIndicator = function() {
			i(".preloader-indicator-overlay, .preloader-indicator-modal").remove()
		}, r.actions = function(e, a, t) {
			var n, o, l, p = !1;
			1 === arguments.length || 2 === arguments.length && "boolean" == typeof arguments[1] ? (a = arguments[0], t =
					arguments[1]) : r.device.ios ? r.device.ipad && (p = !0) : r.width >= 768 && (p = !0), void 0 === t && (t = !0),
				a = a || [], a.length > 0 && !Array.isArray(a[0]) && (a = [a]);
			var d;
			if (p) {
				var c = r.params.modalActionsToPopoverTemplate ||
					'<div class="popover actions-popover"><div class="popover-inner">{{#each this}}<div class="list-block"><ul>{{#each this}}{{#if label}}<li class="actions-popover-label {{#if color}}color-{{color}}{{/if}} {{#if bold}}actions-popover-bold{{/if}}">{{text}}</li>{{else}}<li><a href="#" class="item-link list-button {{#if color}}color-{{color}}{{/if}} {{#if bg}}bg-{{bg}}{{/if}} {{#if bold}}actions-popover-bold{{/if}} {{#if disabled}}disabled{{/if}}">{{text}}</a></li>{{/if}}{{/each}}</ul></div>{{/each}}</div></div>';
				r._compiledTemplates.actionsToPopover || (r._compiledTemplates.actionsToPopover = s.compile(c));
				var u = r._compiledTemplates.actionsToPopover(a);
				n = i(r.popover(u, e, !0, t)), o = ".list-block ul", l = ".list-button"
			} else {
				if (r.params.modalActionsTemplate) r._compiledTemplates.actions || (r._compiledTemplates.actions = s.compile(r.params
					.modalActionsTemplate)), d = r._compiledTemplates.actions(a);
				else {
					for (var m = "", h = 0; h < a.length; h++)
						for (var g = 0; g < a[h].length; g++) {
							0 === g && (m += '<div class="actions-modal-group">');
							var v = a[h][g],
								b = v.label ? "actions-modal-label" : "actions-modal-button";
							v.bold && (b += " actions-modal-button-bold"), v.color && (b += " color-" + v.color), v.bg && (b += " bg-" + v
									.bg), v.disabled && (b += " disabled"), m += '<div class="' + b + '">' + v.text + "</div>", g === a[h].length -
								1 && (m += "</div>")
						}
					d = '<div class="actions-modal">' + m + "</div>"
				}
				f.innerHTML = d, n = i(f).children(), r.root.append(n[0]), o = ".actions-modal-group", l =
					".actions-modal-button"
			}
			return n.find(o).each(function(e, t) {
				var s = e;
				i(t).children().each(function(e, t) {
					var o, d = e,
						c = a[s][d];
					!p && i(t).is(l) && (o = i(t)), p && i(t).find(l).length > 0 && (o = i(t).find(l)), o && o.on("click",
						function(e) {
							!1 !== c.close && r.closeModal(n), c.onClick && c.onClick(n, e)
						})
				})
			}), p || r.openModal(n, t), n[0]
		}, r.popover = function(e, a, t, n, s) {
			function o() {
				e.css({
					left: "",
					top: ""
				});
				var t, n, i, s = e.width(),
					o = e.height(),
					l = 0;
				p ? e.removeClass("popover-on-left popover-on-right popover-on-top popover-on-bottom").css({
					left: "",
					top: ""
				}) : (t = e.find(".popover-angle"), l = t.width() / 2, t.removeClass("on-left on-right on-top on-bottom").css({
					left: "",
					top: ""
				}));
				var d = a.outerWidth(),
					c = a.outerHeight(),
					u = a.offset(),
					m = u.left - r.left,
					f = u.top - r.top,
					h = a.parents(".page");
				h.length > 0 && (f -= h[0].scrollTop);
				var g = 0,
					v = 0,
					b = 0,
					w = p ? "bottom" : "top";
				if (p)
					if (o < r.height - f - c ? (w = "bottom", g = f) : o < f ? (g = f - o + c, w = "top") : (w = "bottom", g = f), g <=
						0 ? g = 8 : g + o >= r.height && (g = r.height - o - 8), v = m, v + s >= r.width - 8 && (v = m + d - s - 8), v <
						8 && (v = 8), "top" === w && e.addClass("popover-on-top"), "bottom" === w && e.addClass("popover-on-bottom"), a
						.hasClass("floating-button-to-popover") && !e.hasClass("modal-in")) {
						e.addClass("popover-floating-button");
						var C = v + s / 2 - (m + d / 2),
							y = g + o / 2 - (f + c / 2);
						a.addClass("floating-button-to-popover-in").transform("translate3d(" + C + "px, " + y + "px,0)").transitionEnd(
							function(e) {
								a.hasClass("floating-button-to-popover-in") && a.addClass("floating-button-to-popover-scale").transform(
									"translate3d(" + C + "px, " + y + "px,0) scale(" + s / d + ", " + o / c + ")")
							}), e.once("popover:close", function() {
							a.removeClass("floating-button-to-popover-in floating-button-to-popover-scale").addClass(
								"floating-button-to-popover-out").transform("").transitionEnd(function(e) {
								a.removeClass("floating-button-to-popover-out")
							})
						}), e.once("popover:closed", function() {
							e.removeClass("popover-floating-button")
						})
					} else a.hasClass("floating-button-to-popover") && e.hasClass("modal-in") && (v = m, g = f);
				else o + l < f ? g = f - o - l : o + l < r.height - f - c ? (w = "bottom", g = f + c + l) : (w = "middle", g = c /
						2 + f - o / 2, b = g, g <= 0 ? g = 5 : g + o >= r.height && (g = r.height - o - 5), b -= g), "top" === w ||
					"bottom" === w ? (v = d / 2 + m - s / 2, b = v, v < 5 && (v = 5), v + s > r.width && (v = r.width - s - 5),
						"top" === w && t.addClass("on-bottom"), "bottom" === w && t.addClass("on-top"), b -= v, n = s / 2 - l + b, n =
						Math.max(Math.min(n, s - 2 * l - 13), 13), t.css({
							left: n + "px"
						})) : "middle" === w && (v = m - s - l, t.addClass("on-right"), (v < 5 || v + s > r.width) && (v < 5 && (v = m +
							d + l), v + s > r.width && (v = r.width - s - 5), t.removeClass("on-right").addClass("on-left")), i = o / 2 -
						l + b, i = Math.max(Math.min(i, o - 2 * l - 13), 13), t.css({
							top: i + "px"
						}));
				e.css({
					top: g + "px",
					left: v + "px"
				})
			}
			if (void 0 === t && (t = !0), void 0 === s && (s = !0), void 0 === n && (n = !0), "string" == typeof e && e.indexOf(
					"<") >= 0) {
				var l = document.createElement("div");
				if (l.innerHTML = e.trim(), !(l.childNodes.length > 0)) return !1;
				e = l.childNodes[0], t && e.classList.add("remove-on-close"), s || e.classList.add("ignore-close-by-outside"), r.root
					.append(e)
			}
			if (e = i(e), a = i(a), 0 === e.length || 0 === a.length) return !1;
			0 === e.parents("body").length && (t && e.addClass("remove-on-close"), s || e.addClass.add(
					"ignore-close-by-outside"), r.root.append(e[0])), 0 !== e.find(".popover-angle").length || r.params.material ||
				e.append('<div class="popover-angle"></div>'), e.show();
			var p = r.params.material;
			return o(), r.onResize(o), e.on("popover:close", function() {
				r.offResize(o)
			}), r.openModal(e, n), e[0]
		}, r.popup = function(e, a, t) {
			if (void 0 === a && (a = !0), void 0 === t && (t = !0), "string" == typeof e && e.indexOf("<") >= 0) {
				var n = document.createElement("div");
				if (n.innerHTML = e.trim(), !(n.childNodes.length > 0)) return !1;
				e = n.childNodes[0], a && e.classList.add("remove-on-close"), r.root.append(e)
			}
			return e = i(e), 0 !== e.length && (0 === e.parents("body").length && (a && e.addClass("remove-on-close"), r.root.append(
				e[0])), e.show(), r.openModal(e, t), e[0])
		}, r.pickerModal = function(e, a, t) {
			if (void 0 === a && (a = !0), void 0 === t && (t = !0), "string" == typeof e && e.indexOf("<") >= 0) {
				if (e = i(e), !(e.length > 0)) return !1;
				a && e.addClass("remove-on-close"), r.root.append(e[0])
			}
			return e = i(e), 0 !== e.length && (0 === e.parents("body").length && (a && e.addClass("remove-on-close"), r.root.append(
				e[0])), i(".picker-modal.modal-in:not(.modal-out)").length > 0 && !e.hasClass("modal-in") && r.closeModal(
				".picker-modal.modal-in:not(.modal-out)"), e.show(), r.openModal(e, t), e[0])
		}, r.loginScreen = function(e, a) {
			return e || (e = ".login-screen"), void 0 === a && (a = !0), e = i(e), 0 !== e.length && (i(
				".login-screen.modal-in:not(.modal-out)").length > 0 && !e.hasClass("modal-in") && r.closeModal(
				".login-screen.modal-in:not(.modal-out)"), e.show(), r.openModal(e, a), e[0])
		}, r.openModal = function(e, a) {
			void 0 === a && (a = !0), e = i(e), e[a ? "removeClass" : "addClass"]("not-animated");
			var t = e.hasClass("modal"),
				n = e.hasClass("popover"),
				s = e.hasClass("popup"),
				o = e.hasClass("login-screen"),
				l = e.hasClass("picker-modal"),
				p = e.hasClass("actions-modal"),
				d = "modal";
			if (n && (d = "popover"), s && (d = "popup"), o && (d = "loginscreen"), l && (d = "picker"), p && (d = "actions"),
				i(".modal.modal-in:not(.modal-out)").length && r.params.modalStack && t) return void r.modalStack.push(function() {
				r.openModal(e)
			});
			if (!0 !== e.data("f7-modal-shown")) {
				e.data("f7-modal-shown", !0);
				var c = e.parent();
				r.params.modalsMoveToRoot && !c.is(r.root) && (r.root.append(e), e.once(d + ":closed", function() {
					c.append(e)
				})), e.once(d + ":close", function() {
					e.removeData("f7-modal-shown")
				}), t && (e.show(), e.css({
					marginTop: -Math.round(e.outerHeight() / 2) + "px"
				}));
				var u;
				o || l || (0 !== i(".modal-overlay").length || s || r.root.append('<div class="modal-overlay"></div>'), 0 === i(
					".popup-overlay").length && s && r.root.append('<div class="popup-overlay"></div>'), u = i(s ?
					".popup-overlay" : ".modal-overlay")), r.params.material && l && e.hasClass("picker-calendar") && (0 !== i(
					".picker-modal-overlay").length || s || r.root.append('<div class="picker-modal-overlay"></div>'), u = i(
					".picker-modal-overlay")), u && u[a ? "removeClass" : "addClass"]("not-animated");
				e[0].clientLeft;
				return e.trigger("open " + d + ":open"), l && i("body").addClass("with-picker-modal"), e.find("." + r.params.viewClass)
					.length > 0 && (e.find(".page").each(function() {
						r.initPageWithCallback(this)
					}), e.find(".navbar").each(function() {
						r.initNavbarWithCallback(this)
					})), o || l || u.addClass("modal-overlay-visible"), r.params.material && l && u && u.addClass(
						"modal-overlay-visible"), a ? e.removeClass("modal-out").addClass("modal-in").transitionEnd(function(a) {
						e.hasClass("modal-out") ? e.trigger("closed " + d + ":closed") : e.trigger("opened " + d + ":opened")
					}) : (e.removeClass("modal-out").addClass("modal-in"), e.trigger("opened " + d + ":opened")), !0
			}
		}, r.closeModal = function(e, a) {
			if (void 0 === a && (a = !0), void 0 === (e = i(e || ".modal-in")) || 0 !== e.length) {
				e[a ? "removeClass" : "addClass"]("not-animated");
				var t = e.hasClass("modal"),
					n = e.hasClass("popover"),
					s = e.hasClass("popup"),
					o = e.hasClass("login-screen"),
					l = e.hasClass("picker-modal"),
					p = e.hasClass("actions-modal"),
					d = "modal";
				n && (d = "popover"), s && (d = "popup"), o && (d = "loginscreen"), l && (d = "picker"), p && (d = "actions");
				var c = e.hasClass("remove-on-close");
				if (!n || !e.hasClass("ignore-close-by-outside")) {
					var u, m = e.hasClass("keep-on-close");
					return s ? u = i(".popup-overlay") : l && r.params.material ? u = i(".picker-modal-overlay") : l || (u = i(
							".modal-overlay")), s ? e.length === i(".popup.modal-in").length && u.removeClass("modal-overlay-visible") : u &&
						u.length > 0 && u.removeClass("modal-overlay-visible"), u && u[a ? "removeClass" : "addClass"]("not-animated"),
						e.trigger("close " + d + ":close"), l && (i("body").removeClass("with-picker-modal"), i("body").addClass(
							"picker-modal-closing")), !n || r.params.material ? (a ? e.removeClass("modal-in").addClass("modal-out").transitionEnd(
								function(a) {
									if (e.hasClass("modal-out")) e.trigger("closed " + d + ":closed");
									else if (e.trigger("opened " + d + ":opened"), n) return;
									l && i("body").removeClass("picker-modal-closing"), s || o || l || n ? (e.removeClass("modal-out").hide(), c &&
										e.length > 0 && e.remove()) : m || e.remove()
								}) : (e.trigger("closed " + d + ":closed"), e.removeClass("modal-in modal-out"), l && i("body").removeClass(
								"picker-modal-closing"), s || o || l || n ? (e.hide(), c && e.length > 0 && e.remove()) : m || e.remove()), t &&
							r.params.modalStack && r.modalStackClearQueue()) : (e.removeClass("modal-in modal-out not-animated").trigger(
							"closed " + d + ":closed").hide(), c && e.remove()), !0
				}
			}
		}, r.swipeoutOpenedEl = void 0, r.allowSwipeout = !0, r.initSwipeout = function(e) {
			function a(e) {
				r.allowSwipeout && (o = !1, s = !0, l = void 0, E.x = "touchstart" === e.type ? e.targetTouches[0].pageX : e.pageX,
					E.y = "touchstart" === e.type ? e.targetTouches[0].pageY : e.pageY, p = (new Date).getTime())
			}

			function t(e) {
				if (s) {
					var a = "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX,
						t = "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY;
					if (void 0 === l && (l = !!(l || Math.abs(t - E.y) > Math.abs(a - E.x))), l) return void(s = !1);
					if (!o) {
						if (i(".list-block.sortable-opened").length > 0) return;
						c = i(this), u = c.find(".swipeout-content"), m = c.find(".swipeout-actions-right"), f = c.find(
								".swipeout-actions-left"), h = g = C = y = P = T = null, M = f.hasClass("swipeout-actions-no-fold") || r.params
							.swipeoutActionsNoFold, O = m.hasClass("swipeout-actions-no-fold") || r.params.swipeoutActionsNoFold, f.length >
							0 && (h = f.outerWidth(), C = f.children("a"), T = f.find(".swipeout-overswipe")), m.length > 0 && (g = m.outerWidth(),
								y = m.children("a"), P = m.find(".swipeout-overswipe")), b = c.hasClass("swipeout-opened"), b && (w = c.find(
								".swipeout-actions-left.swipeout-actions-opened").length > 0 ? "left" : "right"), c.removeClass(
								"transitioning"), r.params.swipeoutNoFollow || (c.find(".swipeout-actions-opened").removeClass(
								"swipeout-actions-opened"), c.removeClass("swipeout-opened"))
					}
					if (o = !0, e.preventDefault(), d = a - E.x, v = d, b && ("right" === w ? v -= g : v += h), v > 0 && 0 === f.length ||
						v < 0 && 0 === m.length) {
						if (!b) return s = o = !1, u.transform(""), y && y.length > 0 && y.transform(""), void(C && C.length > 0 && C.transform(
							""));
						v = 0
					}
					v < 0 ? x = "to-left" : v > 0 ? x = "to-right" : x || (x = "to-left");
					var n, p, z;
					if (e.f7PreventPanelSwipe = !0, r.params.swipeoutNoFollow) return b ? ("right" === w && d > 0 && r.swipeoutClose(
						c), "left" === w && d < 0 && r.swipeoutClose(c)) : (d < 0 && m.length > 0 && r.swipeoutOpen(c, "right"), d >
						0 && f.length > 0 && r.swipeoutOpen(c, "left")), s = !1, void(o = !1);
					k = !1, S = !1;
					var L;
					if (m.length > 0)
						for (z = v / g, v < -g && (v = -g - Math.pow(-v - g, .8), P.length > 0 && (S = !0)), n = 0; n < y.length; n++)
							void 0 === y[n]._buttonOffset && (y[n]._buttonOffset = y[n].offsetLeft), p = y[n]._buttonOffset, L = i(y[n]),
							P.length > 0 && L.hasClass("swipeout-overswipe") && (L.css({
								left: (S ? -p : 0) + "px"
							}), S ? L.addClass("swipeout-overswipe-active") : L.removeClass("swipeout-overswipe-active")), L.transform(
								"translate3d(" + (v - p * (1 + Math.max(z, -1))) + "px,0,0)");
					if (f.length > 0)
						for (z = v / h, v > h && (v = h + Math.pow(v - h, .8), T.length > 0 && (k = !0)), n = 0; n < C.length; n++) void 0 ===
							C[n]._buttonOffset && (C[n]._buttonOffset = h - C[n].offsetLeft - C[n].offsetWidth), p = C[n]._buttonOffset, L =
							i(C[n]), T.length > 0 && L.hasClass("swipeout-overswipe") && (L.css({
								left: (k ? p : 0) + "px"
							}), k ? L.addClass("swipeout-overswipe-active") : L.removeClass("swipeout-overswipe-active")), C.length > 1 &&
							L.css("z-index", C.length - n), L.transform("translate3d(" + (v + p * (1 - Math.min(z, 1))) + "px,0,0)");
					u.transform("translate3d(" + v + "px,0,0)")
				}
			}

			function n(e) {
				if (!s || !o) return s = !1, void(o = !1);
				s = !1, o = !1;
				var a, t, n, l, w, T = (new Date).getTime() - p;
				if (n = "to-left" === x ? m : f, t = "to-left" === x ? g : h, a = T < 300 && (d < -10 && "to-left" === x || d >
						10 && "to-right" === x) || T >= 300 && Math.abs(v) > t / 2 ? "open" : "close", T < 300 && (0 === Math.abs(v) &&
						(a = "close"), Math.abs(v) === t && (a = "open")), "open" === a) {
					r.swipeoutOpenedEl = c, c.trigger("open swipeout:open"), c.addClass("swipeout-opened transitioning");
					var P = "to-left" === x ? -t : t;
					if (u.transform("translate3d(" + P + "px,0,0)"), n.addClass("swipeout-actions-opened"), l = "to-left" === x ? y :
						C)
						for (w = 0; w < l.length; w++) i(l[w]).transform("translate3d(" + P + "px,0,0)");
					S && m.find(".swipeout-overswipe")[0].click(), k && f.find(".swipeout-overswipe")[0].click()
				} else c.trigger("close swipeout:close"), r.swipeoutOpenedEl = void 0, c.addClass("transitioning").removeClass(
					"swipeout-opened"), u.transform(""), n.removeClass("swipeout-actions-opened");
				var M;
				if (C && C.length > 0 && C !== l)
					for (w = 0; w < C.length; w++) M = C[w]._buttonOffset, void 0 === M && (C[w]._buttonOffset = h - C[w].offsetLeft -
						C[w].offsetWidth), i(C[w]).transform("translate3d(" + M + "px,0,0)");
				if (y && y.length > 0 && y !== l)
					for (w = 0; w < y.length; w++) M = y[w]._buttonOffset, void 0 === M && (y[w]._buttonOffset = y[w].offsetLeft), i(
						y[w]).transform("translate3d(" + -M + "px,0,0)");
				u.transitionEnd(function(e) {
					b && "open" === a || closed && "close" === a || (c.trigger("open" === a ? "opened" : "closed"), b && "close" ===
						a && (m.length > 0 && y.transform(""), f.length > 0 && C.transform("")))
				})
			}
			var s, o, l, p, d, c, u, m, f, h, g, v, b, w, C, y, x, T, P, k, S, M, O, E = {},
				z = !!r.support.passiveListener && {
					passive: !1,
					capture: !1
				};
			i(document).on(r.touchEvents.start, function(e) {
				if (r.swipeoutOpenedEl) {
					var a = i(e.target);
					r.swipeoutOpenedEl.is(a[0]) || a.parents(".swipeout").is(r.swipeoutOpenedEl) || a.hasClass("modal-in") || a.hasClass(
							"modal-overlay") || a.hasClass("actions-modal") || a.parents(".actions-modal.modal-in, .modal.modal-in").length >
						0 || r.swipeoutClose(r.swipeoutOpenedEl)
				}
			}, z), e ? (i(e).on(r.touchEvents.start, a, z), i(e).on(r.touchEvents.move, t, z), i(e).on(r.touchEvents.end, n,
				z)) : (i(document).on(r.touchEvents.start, ".list-block li.swipeout", a, z), i(document).on(r.touchEvents.move,
				".list-block li.swipeout", t, z), i(document).on(r.touchEvents.end, ".list-block li.swipeout", n, z))
		}, r.swipeoutOpen = function(e, a, t) {
			if (e = i(e), 2 === arguments.length && "function" == typeof arguments[1] && (t = a), 0 !== e.length && (e.length >
					1 && (e = i(e[0])), e.hasClass("swipeout") && !e.hasClass("swipeout-opened"))) {
				a || (a = e.find(".swipeout-actions-right").length > 0 ? "right" : "left");
				var n = e.find(".swipeout-actions-" + a);
				if (0 !== n.length) {
					e.trigger("open swipeout:open").addClass("swipeout-opened").removeClass("transitioning"), n.addClass(
						"swipeout-actions-opened");
					var s, o = n.children("a"),
						l = n.outerWidth(),
						p = "right" === a ? -l : l;
					if (o.length > 1) {
						for (s = 0; s < o.length; s++) "right" === a ? i(o[s]).transform("translate3d(" + -o[s].offsetLeft + "px,0,0)") :
							i(o[s]).css("z-index", o.length - s).transform("translate3d(" + (l - o[s].offsetWidth - o[s].offsetLeft) +
								"px,0,0)");
						o[1].clientLeft
					}
					for (e.addClass("transitioning"), s = 0; s < o.length; s++) i(o[s]).transform("translate3d(" + p + "px,0,0)");
					e.find(".swipeout-content").transform("translate3d(" + p + "px,0,0)").transitionEnd(function() {
						e.trigger("opened swipeout:opened"), t && t.call(e[0])
					}), r.swipeoutOpenedEl = e
				}
			}
		}, r.swipeoutClose = function(e, a) {
			function t() {
				r.allowSwipeout = !0, e.hasClass("swipeout-opened") || (e.removeClass("transitioning"), o.transform(""), e.trigger(
					"closed swipeout:closed"), a && a.call(e[0]), p && clearTimeout(p))
			}
			if (e = i(e), 0 !== e.length && e.hasClass("swipeout-opened")) {
				var n = e.find(".swipeout-actions-opened").hasClass("swipeout-actions-right") ? "right" : "left",
					s = e.find(".swipeout-actions-opened").removeClass("swipeout-actions-opened"),
					o = s.children("a"),
					l = s.outerWidth();
				r.allowSwipeout = !1, e.trigger("close swipeout:close"), e.removeClass("swipeout-opened").addClass(
					"transitioning");
				var p;
				e.find(".swipeout-content").transform("").transitionEnd(t), p = setTimeout(t, 500);
				for (var d = 0; d < o.length; d++) "right" === n ? i(o[d]).transform("translate3d(" + -o[d].offsetLeft +
					"px,0,0)") : i(o[d]).transform("translate3d(" + (l - o[d].offsetWidth - o[d].offsetLeft) + "px,0,0)"), i(o[d]).css({
					left: "0px"
				}).removeClass("swipeout-overswipe-active");
				r.swipeoutOpenedEl && r.swipeoutOpenedEl[0] === e[0] && (r.swipeoutOpenedEl = void 0)
			}
		}, r.swipeoutDelete = function(e, a) {
			if (e = i(e), 0 !== e.length) {
				e.length > 1 && (e = i(e[0])), r.swipeoutOpenedEl = void 0, e.trigger("delete swipeout:delete"), e.css({
					height: e.outerHeight() + "px"
				});
				e[0].clientLeft;
				e.css({
					height: "0px"
				}).addClass("deleting transitioning").transitionEnd(function() {
					if (e.trigger("deleted swipeout:deleted"), a && a.call(e[0]), e.parents(".virtual-list").length > 0) {
						var t = e.parents(".virtual-list")[0].f7VirtualList,
							n = e[0].f7VirtualListIndex;
						t && void 0 !== n && t.deleteItem(n)
					} else r.params.swipeoutRemoveWithTimeout ? setTimeout(function() {
						e.remove()
					}, 0) : e.remove()
				});
				e.find(".swipeout-content").transform("translate3d(-100%,0,0)")
			}
		}, r.sortableToggle = function(e) {
			return e = i(e), 0 === e.length && (e = i(".list-block.sortable")), e.toggleClass("sortable-opened"), e.hasClass(
				"sortable-opened") ? e.trigger("open sortable:open") : e.trigger("close sortable:close"), e
		}, r.sortableOpen = function(e) {
			return e = i(e), 0 === e.length && (e = i(".list-block.sortable")), e.addClass("sortable-opened"), e.trigger(
				"open sortable:open"), e
		}, r.sortableClose = function(e) {
			return e = i(e), 0 === e.length && (e = i(".list-block.sortable")), e.removeClass("sortable-opened"), e.trigger(
				"close sortable:close"), e
		}, r.initSortable = function() {
			function e(e) {
				s = !1, n = !0, o = "touchstart" === e.type ? e.targetTouches[0].pageY : e.pageY, p = i(this).parent(), v = p.index(),
					c = p.parent().children("li"), g = p.parents(".sortable"), e.preventDefault(), r.allowPanelOpen = r.allowSwipeout = !
					1
			}

			function a(e) {
				if (n && p) {
					var a = ("touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX, "touchmove" === e.type ? e.targetTouches[0]
						.pageY : e.pageY);
					s || (p.addClass("sorting"), g.addClass("sortable-sorting"), u = p[0].offsetTop, m = p.parent().height() - p[0].offsetTop -
						p.height(), d = p[0].offsetHeight), s = !0, e.preventDefault(), e.f7PreventPanelSwipe = !0, l = a - o;
					var t = l;
					t < -u && (t = -u), t > m && (t = m), p.transform("translate3d(0," + t + "px,0)"), h = f = void 0, c.each(
						function() {
							var e = i(this);
							if (e[0] !== p[0]) {
								var a = e[0].offsetTop,
									r = e.height(),
									n = p[0].offsetTop + t;
								n >= a - r / 2 && p.index() < e.index() ? (e.transform("translate3d(0, " + -d + "px,0)"), f = e, h = void 0) :
									n <= a + r / 2 && p.index() > e.index() ? (e.transform("translate3d(0, " + d + "px,0)"), f = void 0, h || (
										h = e)) : i(this).transform("translate3d(0, 0%,0)")
							}
						})
				}
			}

			function t(e) {
				if (r.allowPanelOpen = r.allowSwipeout = !0, !n || !s) return n = !1, void(s = !1);
				e.preventDefault(), c.transform(""), p.removeClass("sorting"), g.removeClass("sortable-sorting");
				var a, t, i;
				f && (p.insertAfter(f), p.trigger("sort sortable:sort", {
					startIndex: v,
					newIndex: p.index()
				})), h && (p.insertBefore(h), p.trigger("sort sortable:sort", {
					startIndex: v,
					newIndex: p.index()
				})), (f || h) && g.hasClass("virtual-list") && (a = g[0].f7VirtualList, t = p[0].f7VirtualListIndex, i = h ? h[0]
					.f7VirtualListIndex : f[0].f7VirtualListIndex, a && a.moveItem(t, i)), f = h = void 0, n = !1, s = !1
			}
			var n, s, o, l, p, d, c, u, m, f, h, g, v, b = !!r.support.passiveListener && {
				passive: !1,
				capture: !1
			};
			i(document).on(r.touchEvents.start, ".list-block.sortable .sortable-handler", e, b), r.support.touch ? (i(document)
				.on(r.touchEvents.move, ".list-block.sortable .sortable-handler", a, b), i(document).on(r.touchEvents.end,
					".list-block.sortable .sortable-handler", t, b)) : (i(document).on(r.touchEvents.move, a, b), i(document).on(r.touchEvents
				.end, t, b))
		}, r.initPageScrollToolbars = function(e) {
			function a(a) {
				e.hasClass("page-on-left") || (m = t[0].scrollTop, v = t[0].scrollHeight, b = t[0].offsetHeight, w = m + b >= v -
					S, y = d.hasClass("navbar-hidden"), x = c.hasClass("toolbar-hidden"), T = p && p.hasClass("toolbar-hidden"), w ?
					r.params.showBarsOnPageScrollEnd && (C = "show") : C = u > m ? r.params.showBarsOnPageScrollTop || m <= 44 ?
					"show" : "hide" : m > 44 ? "hide" : "show", "show" === C ? (f && n && y && (r.showNavbar(d), e.removeClass(
						"no-navbar-by-scroll"), y = !1), h && s && x && (r.showToolbar(c), e.removeClass("no-toolbar-by-scroll"), x = !
						1), g && o && T && (r.showToolbar(p), e.removeClass("no-tabbar-by-scroll"), T = !1)) : (f && n && !y && (r.hideNavbar(
						d), e.addClass("no-navbar-by-scroll"), y = !0), h && s && !x && (r.hideToolbar(c), e.addClass(
						"no-toolbar-by-scroll"), x = !0), g && o && !T && (r.hideToolbar(p), e.addClass("no-tabbar-by-scroll"), T = !
						0)), u = m)
			}
			e = i(e);
			var t = e.find(".page-content");
			if (0 !== t.length) {
				var n = (r.params.hideNavbarOnPageScroll || t.hasClass("hide-navbar-on-scroll") || t.hasClass(
						"hide-bars-on-scroll")) && !(t.hasClass("keep-navbar-on-scroll") || t.hasClass("keep-bars-on-scroll")),
					s = (r.params.hideToolbarOnPageScroll || t.hasClass("hide-toolbar-on-scroll") || t.hasClass(
						"hide-bars-on-scroll")) && !(t.hasClass("keep-toolbar-on-scroll") || t.hasClass("keep-bars-on-scroll")),
					o = (r.params.hideTabbarOnPageScroll || t.hasClass("hide-tabbar-on-scroll")) && !t.hasClass(
						"keep-tabbar-on-scroll");
				if (n || s || o) {
					var l = t.parents("." + r.params.viewClass);
					if (0 !== l.length) {
						var p, d = l.find(".navbar"),
							c = l.find(".toolbar");
						o && (p = l.find(".tabbar"), 0 === p.length && (p = l.parents("." + r.params.viewsClass).find(".tabbar")));
						var u, m, f = d.length > 0,
							h = c.length > 0,
							g = p && p.length > 0;
						u = m = t[0].scrollTop;
						var v, b, w, C, y, x, T, P = h && s ? c[0].offsetHeight : 0,
							k = g && o ? p[0].offsetHeight : 0,
							S = k || P;
						t.on("scroll", a), t[0].f7ScrollToolbarsHandler = a
					}
				}
			}
		}, r.destroyScrollToolbars = function(e) {
			e = i(e);
			var a = e.find(".page-content");
			if (0 !== a.length) {
				a[0].f7ScrollToolbarsHandler && a.off("scroll", a[0].f7ScrollToolbarsHandler)
			}
		}, r.materialTabbarSetHighlight = function(e, a) {
			i(e).each(function() {
				var e = i(this);
				if ((a = a || e.find(".tab-link.active")) && a.length > 0) {
					var t, n;
					e.hasClass("tabbar-scrollable") ? (t = a[0].offsetWidth + "px", n = a[0].offsetLeft + "px") : (t = 1 / e.find(
						".tab-link").length * 100 + "%", n = 100 * (r.rtl ? -a.index() : a.index()) + "%"), e.find(
						".tab-link-highlight").css({
						width: t
					}).transform("translate3d(" + n + ",0,0)")
				}
			})
		}, r.initPageMaterialTabbar = function(e) {
			function a() {
				r.materialTabbarSetHighlight(t)
			}
			e = i(e);
			var t = e.find(".tabbar");
			0 === t.length && e.hasClass("tabbar") && (t = e), t.length > 0 && (0 === t.find(".tab-link-highlight").length &&
				t.find(".toolbar-inner").append('<span class="tab-link-highlight"></span>'), a(), r.onResize(a), e.once(
					"page:beforeremove",
					function() {
						r.offResize(a)
					}))
		}, r.initMaterialTabbar = function(e) {
			return r.initPageMaterialTabbar(e)
		}, r.showTab = function(e, a, t, n) {
			var s = i(e);
			if (2 === arguments.length && "boolean" == typeof arguments[1] && (e = arguments[0], t = arguments[1]), 3 ===
				arguments.length && "boolean" == typeof arguments[1] && "boolean" == typeof arguments[2] && (e = arguments[0], t =
					arguments[1], n = arguments[2]), void 0 === t && (t = !0), 0 === s.length) return !1;
			if (s.hasClass("active")) return n && s.trigger("show tab:show"), !1;
			var o = s.parent(".tabs");
			if (0 === o.length) return !1;
			r.allowSwipeout = !0;
			var l = o.parent().hasClass("tabs-animated-wrap");
			if (l) {
				o.parent()[t ? "removeClass" : "addClass"]("not-animated");
				var p = 100 * (r.rtl ? s.index() : -s.index());
				o.transform("translate3d(" + p + "%,0,0)")
			}
			var d, c = o.parent().hasClass("tabs-swipeable-wrap");
			c && (d = o.parent()[0].swiper, d.activeIndex !== s.index() && d.slideTo(s.index(), t ? void 0 : 0, !1));
			var u = o.children(".tab.active").removeClass("active").trigger("hide tab:hide");
			if (s.addClass("active"), s.trigger("show tab:show"), !l && !c && s.find(".navbar").length > 0) {
				var m;
				m = s.hasClass(r.params.viewClass) ? s[0] : s.parents("." + r.params.viewClass)[0], r.sizeNavbars(m)
			}
			if (a ? a = i(a) : (!(a = i("string" == typeof e ? '.tab-link[href="' + e + '"]' : '.tab-link[href="#' + s.attr(
					"id") + '"]')) || a && 0 === a.length) && i("[data-tab]").each(function() {
					s.is(i(this).attr("data-tab")) && (a = i(this))
				}), 0 !== a.length) {
				var f;
				if (u && u.length > 0) {
					var h = u.attr("id");
					h && (f = i('.tab-link[href="#' + h + '"]')), (!f || f && 0 === f.length) && i("[data-tab]").each(function() {
						u.is(i(this).attr("data-tab")) && (f = i(this))
					})
				}
				if (a && a.length > 0 && (a.addClass("active"), r.params.material)) {
					var g = a.parents(".tabbar");
					g.length > 0 && (0 === g.find(".tab-link-highlight").length && g.find(".toolbar-inner").append(
						'<span class="tab-link-highlight"></span>'), r.materialTabbarSetHighlight(g, a))
				}
				return f && f.length > 0 && f.removeClass("active"), !0
			}
		}, r.initFastClicks = function() {
			function e(e) {
				var a, t = i(e),
					n = t.parents(r.params.activeStateElements);
				return t.is(r.params.activeStateElements) && (a = t), n.length > 0 && (a = a ? a.add(n) : n), a || t
			}

			function a(e) {
				var a = e.parents(".page-content, .panel");
				return 0 !== a.length && ("yes" !== a.prop("scrollHandlerSet") && (a.on("scroll", function() {
					clearTimeout(R), clearTimeout(W)
				}), a.prop("scrollHandlerSet", "yes")), !0)
			}

			function t() {
				H && H.addClass("active-state")
			}

			function n(e) {
				H && (H.removeClass("active-state"), H = null)
			}

			function s(e) {
				var a = "input select textarea label".split(" ");
				return !!(e.nodeName && a.indexOf(e.nodeName.toLowerCase()) >= 0)
			}

			function o(e) {
				var a = "button input textarea select".split(" ");
				return !(!document.activeElement || e === document.activeElement || document.activeElement === document.body) &&
					!(a.indexOf(e.nodeName.toLowerCase()) >= 0)
			}

			function l(e) {
				var a = i(e);
				return ("input" !== e.nodeName.toLowerCase() || "file" !== e.type && "range" !== e.type) && (("select" !== e.nodeName
					.toLowerCase() || !r.device.android) && (!(a.hasClass("no-fastclick") || a.parents(".no-fastclick").length > 0) &&
					(!r.params.fastClicksExclude || !a.is(r.params.fastClicksExclude))))
			}

			function p(e) {
				if (document.activeElement === e) return !1;
				var a = e.nodeName.toLowerCase(),
					t = "button checkbox file image radio submit".split(" ");
				return !e.disabled && !e.readOnly && ("textarea" === a || ("select" === a ? !r.device.android : "input" === a &&
					t.indexOf(e.type) < 0 || void 0))
			}

			function d(e) {
				e = i(e);
				var a = !0;
				return (e.is("label") || e.parents("label").length > 0) && (a = !r.device.android && !(!r.device.ios || !e.is(
					"input"))), a
			}

			function c(a) {
				e(a.target).addClass("active-state"), "which" in a && 3 === a.which && setTimeout(function() {
					i(".active-state").removeClass("active-state")
				}, 0), r.params.material && r.params.materialRipple && (S = a.pageX, M = a.pageY, v(a.target, a.pageX, a.pageY))
			}

			function u(e) {
				i(".active-state").removeClass("active-state"), r.params.material && r.params.materialRipple && b()
			}

			function m(e) {
				i(".active-state").removeClass("active-state"), r.params.material && r.params.materialRipple && w()
			}

			function f(e) {
				var a = r.params.materialRippleElements,
					t = i(e);
				if (t.is(a)) return !t.hasClass("no-ripple") && t;
				if (t.parents(a).length > 0) {
					var n = t.parents(a).eq(0);
					return !n.hasClass("no-ripple") && n
				}
				return !1
			}

			function h(e, a, t) {
				if (t) {
					var r = t[0].getBoundingClientRect(),
						n = {
							x: e - r.left,
							y: a - r.top
						},
						s = r.height,
						o = r.width,
						l = Math.max(Math.pow(Math.pow(s, 2) + Math.pow(o, 2), .5), 48);
					Y = i('<div class="ripple-wave" style="width: ' + l + "px; height: " + l + "px; margin-top:-" + l / 2 +
						"px; margin-left:-" + l / 2 + "px; left:" + n.x + "px; top:" + n.y + 'px;"></div>'), t.prepend(Y);
					Y[0].clientLeft;
					q = "translate3d(" + (o / 2 - n.x) + "px, " + (s / 2 - n.y) + "px, 0) scale(1)", Y.transform(q)
				}
			}

			function g() {
				if (Y) {
					var e = Y,
						a = setTimeout(function() {
							e.remove()
						}, 400);
					Y.addClass("ripple-wave-fill").transform(q.replace("scale(1)", "scale(1.01)")).transitionEnd(function() {
						clearTimeout(a);
						var e = i(this).addClass("ripple-wave-out").transform(q.replace("scale(1)", "scale(1.01)"));
						a = setTimeout(function() {
							e.remove()
						}, 700), setTimeout(function() {
							e.transitionEnd(function() {
								clearTimeout(a), i(this).remove()
							})
						}, 0)
					}), Y = X = void 0
				}
			}

			function v(e, t, r) {
				if (!(X = f(e)) || 0 === X.length) return void(X = void 0);
				a(X) ? W = setTimeout(function() {
					h(S, M, X)
				}, 80) : h(S, M, X)
			}

			function b() {
				clearTimeout(W), g()
			}

			function w() {
				Y ? g() : X && !D ? (clearTimeout(W), h(S, M, X), setTimeout(g, 0)) : g()
			}

			function C(e) {
				var a = e.changedTouches[0],
					t = document.createEvent("MouseEvents"),
					n = "click";
				r.device.android && "select" === E.nodeName.toLowerCase() && (n = "mousedown"), t.initMouseEvent(n, !0, !0,
					window, 1, a.screenX, a.screenY, a.clientX, a.clientY, !1, !1, !1, !1, 0, null), t.forwardedTouchEvent = !0, E.dispatchEvent(
					t)
			}

			function y(s) {
				if (D = !1, N = !1, s.targetTouches.length > 1) return H && n(), !0;
				if (s.touches.length > 1 && H && n(), r.params.tapHold && (A && clearTimeout(A), A = setTimeout(function() {
						s && s.touches && s.touches.length > 1 || (N = !0, s.preventDefault(), i(s.target).trigger("taphold"))
					}, r.params.tapHoldDelay)), G && clearTimeout(G), !(V = l(s.target))) return z = !1, !0;
				if (r.device.ios || r.device.android && "getSelection" in window) {
					var p = window.getSelection();
					if (p.rangeCount && p.focusNode !== document.body && (!p.isCollapsed || document.activeElement === p.focusNode))
						return L = !0, !0;
					L = !1
				}
				r.device.android && o(s.target) && document.activeElement.blur(), z = !0, E = s.target, O = (new Date).getTime(),
					S = s.targetTouches[0].pageX, M = s.targetTouches[0].pageY, r.device.ios && (I = void 0, i(E).parents().each(
						function() {
							var e = this;
							e.scrollHeight > e.offsetHeight && !I && (I = e, I.f7ScrollTop = I.scrollTop)
						})), s.timeStamp - B < r.params.fastClicksDelayBetweenClicks && s.preventDefault(), r.params.activeState && (H =
						e(E), a(H) ? R = setTimeout(t, 80) : t()), r.params.material && r.params.materialRipple && v(E, S, M)
			}

			function x(e) {
				if (z) {
					var a = !1,
						t = r.params.fastClicksDistanceThreshold;
					if (t) {
						var i = e.targetTouches[0].pageX,
							s = e.targetTouches[0].pageY;
						(Math.abs(i - S) > t || Math.abs(s - M) > t) && (a = !0)
					} else a = !0;
					a && (z = !1, E = null, D = !0, r.params.tapHold && clearTimeout(A), r.params.activeState && (clearTimeout(R), n()),
						r.params.material && r.params.materialRipple && b())
				}
			}

			function T(e) {
				if (clearTimeout(R), clearTimeout(A), !z) return !L && V && (r.device.android && !e.cancelable || e.preventDefault()),
					!0;
				if (document.activeElement === e.target) return r.params.activeState && n(), r.params.material && r.params.materialRipple &&
					w(), !0;
				if (L || e.preventDefault(), e.timeStamp - B < r.params.fastClicksDelayBetweenClicks) return setTimeout(n, 0), !0;
				if (B = e.timeStamp, z = !1, r.device.ios && I && I.scrollTop !== I.f7ScrollTop) return !1;
				if (r.params.activeState && (t(), setTimeout(n, 0)), r.params.material && r.params.materialRipple && w(), p(E)) {
					if (r.device.ios && r.device.webView) return event.timeStamp - O > 159 ? (E = null, !1) : (E.focus(), !1);
					E.focus()
				}
				return document.activeElement && E !== document.activeElement && document.activeElement !== document.body &&
					"label" !== E.nodeName.toLowerCase() && document.activeElement.blur(), e.preventDefault(), C(e), !1
			}

			function P(e) {
				z = !1, E = null, clearTimeout(R), clearTimeout(A), r.params.activeState && n(), r.params.material && r.params.materialRipple &&
					w()
			}

			function k(e) {
				var a = !1;
				return z ? (E = null, z = !1, !0) : "submit" === e.target.type && 0 === e.detail || "file" === e.target.type || (
					E || s(e.target) || (a = !0), V || (a = !0), document.activeElement === E && (a = !0), e.forwardedTouchEvent &&
					(a = !0), e.cancelable || (a = !0), r.params.tapHold && r.params.tapHoldPreventClicks && N && (a = !1), a || (e
						.stopImmediatePropagation(), e.stopPropagation(), E ? (d(E) || D) && e.preventDefault() : e.preventDefault(),
						E = null), G = setTimeout(function() {
						V = !1
					}, r.device.ios || r.device.androidChrome ? 100 : 400), r.params.tapHold && (A = setTimeout(function() {
						N = !1
					}, r.device.ios || r.device.androidChrome ? 100 : 400)), a)
			}
			r.params.activeState && i("html").addClass("watch-active-state"), r.device.ios && r.device.webView && window.addEventListener(
				"touchstart",
				function() {});
			var S, M, O, E, z, L, I, B, D, N, A, H, R, V, G, Y, X, q, W;
			r.support.touch ? (document.addEventListener("click", k, !0), document.addEventListener("touchstart", y), document
					.addEventListener("touchmove", x), document.addEventListener("touchend", T), document.addEventListener(
						"touchcancel", P)) : r.params.activeState && (document.addEventListener("mousedown", c), document.addEventListener(
					"mousemove", u), document.addEventListener("mouseup", m)), r.params.material && r.params.materialRipple &&
				document.addEventListener("contextmenu", function(e) {
					H && n(), w()
				})
		}, r.formsData = {}, r.formStoreData = function(e, a) {
			r.formsData[e] = a, r.ls["f7form-" + e] = JSON.stringify(a)
		}, r.formDeleteData = function(e) {
			r.formsData[e] && (r.formsData[e] = "", delete r.formsData[e]), r.ls["f7form-" + e] && (r.ls["f7form-" + e] = "",
				r.ls.removeItem("f7form-" + e))
		}, r.formGetData = function(e) {
			return r.ls["f7form-" + e] ? JSON.parse(r.ls["f7form-" + e]) : r.formsData[e] ? r.formsData[e] : void 0
		}, r.formToData = function(e) {
			if (e = i(e), 1 !== e.length) return !1;
			var a = {},
				t = ["submit", "image", "button", "file"],
				r = [];
			return e.find("input, select, textarea").each(function() {
				var n = i(this),
					s = n.attr("name"),
					o = n.attr("type"),
					l = this.nodeName.toLowerCase();
				if (!(t.indexOf(o) >= 0) && !(r.indexOf(s) >= 0) && s)
					if ("select" === l && n.prop("multiple")) r.push(s), a[s] = [], e.find('select[name="' + s + '"] option').each(
						function() {
							this.selected && a[s].push(this.value)
						});
					else switch (o) {
						case "checkbox":
							r.push(s), a[s] = [], e.find('input[name="' + s + '"]').each(function() {
								this.checked && a[s].push(this.value)
							});
							break;
						case "radio":
							r.push(s), e.find('input[name="' + s + '"]').each(function() {
								this.checked && (a[s] = this.value)
							});
							break;
						default:
							a[s] = n.val()
					}
			}), e.trigger("formToJSON formToData form:todata", {
				formData: a
			}), a
		}, r.formToJSON = r.formToData, r.formFromData = function(e, a) {
			if (e = i(e), 1 !== e.length) return !1;
			var t = ["submit", "image", "button", "file"],
				r = [];
			e.find("input, select, textarea").each(function() {
				var n = i(this),
					s = n.attr("name"),
					o = n.attr("type"),
					l = this.nodeName.toLowerCase();
				if (void 0 !== a[s] && null !== a[s] && !(t.indexOf(o) >= 0) && !(r.indexOf(s) >= 0) && s) {
					if ("select" === l && n.prop("multiple")) r.push(s), e.find('select[name="' + s + '"] option').each(function() {
						a[s].indexOf(this.value) >= 0 ? this.selected = !0 : this.selected = !1
					});
					else switch (o) {
						case "checkbox":
							r.push(s), e.find('input[name="' + s + '"]').each(function() {
								a[s].indexOf(this.value) >= 0 ? this.checked = !0 : this.checked = !1
							});
							break;
						case "radio":
							r.push(s), e.find('input[name="' + s + '"]').each(function() {
								a[s] === this.value ? this.checked = !0 : this.checked = !1
							});
							break;
						default:
							n.val(a[s])
					}
					"select" !== l && "input" !== l && "textarea" !== l || n.trigger("change")
				}
			}), e.trigger("formFromJSON formFromData form:fromdata", {
				formData: a
			})
		}, r.formFromJSON = r.formFromData, r.initFormsStorage = function(e) {
			function a() {
				var e = i(this),
					a = e[0].id;
				if (a) {
					var t = r.formToData(e);
					t && (r.formStoreData(a, t), e.trigger("store form:storedata", {
						data: t
					}))
				}
			}

			function t() {
				n.off("change submit", a), e.off("page:beforeremove", t)
			}
			e = i(e);
			var n = e.find("form.store-data");
			0 !== n.length && (n.each(function() {
				var e = this.getAttribute("id");
				if (e) {
					var a = r.formGetData(e);
					a && r.formFromData(this, a)
				}
			}), n.on("change submit", a), e.on("page:beforeremove", t))
		}, i(document).on("submit change", "form.ajax-submit, form.ajax-submit-onchange", function(e) {
			var a = i(this);
			if ("change" !== e.type || a.hasClass("ajax-submit-onchange")) {
				"submit" === e.type && e.preventDefault();
				var t = (a.attr("method") || "GET").toUpperCase(),
					n = a.prop("enctype") || a.attr("enctype"),
					s = a.attr("action");
				if (s) {
					var o;
					o = "POST" === t ? new FormData(a[0]) : i.serializeObject(r.formToJSON(a[0]));
					var l = i.ajax({
						method: t,
						url: s,
						contentType: n,
						data: o,
						beforeSend: function(e) {
							a.trigger("beforeSubmit form:beforesend", {
								data: o,
								xhr: e
							})
						},
						error: function(e) {
							a.trigger("submitError form:error", {
								data: o,
								xhr: e
							})
						},
						success: function(e) {
							a.trigger("submitted form:success", {
								data: e,
								xhr: l
							})
						}
					})
				}
			}
		}), r.resizeTextarea = function(e) {
			if (e = i(e), e.hasClass("resizable")) {
				e.css({
					height: ""
				});
				var a = e[0].offsetHeight,
					t = a - e[0].clientHeight,
					r = e[0].scrollHeight;
				if (r + t > a) {
					var n = r + t;
					e.css("height", n + "px")
				}
			}
		}, r.resizableTextarea = function(e) {
			function a() {
				clearTimeout(t), t = setTimeout(function() {
					r.resizeTextarea(e)
				}, 0)
			}
			if (e = i(e), 0 !== e.length) {
				var t;
				return e[0].f7DestroyResizableTextarea = function() {
					e.off("change keydown keypress keyup paste cut", a)
				}, e.on("change keydown keypress keyup paste cut", a)
			}
		}, r.destroyResizableTextarea = function(e) {
			e = i(e), e.length > 0 && e.is("textarea") && e[0].f7DestroyResizableTextarea ? e[0].f7DestroyResizableTextarea() :
				e.length > 0 && e.find("textarea.resiable").each(function() {
					var e = this;
					e.f7DestroyResizableTextarea && e.f7DestroyResizableTextarea()
				})
		}, r.initPageResizableTextarea = function(e) {
			e = i(e), e.find("textarea.resizable").each(function() {
				r.resizableTextarea(this)
			})
		}, r.initPageMaterialInputs = function(e) {
			e = i(e);
			e.find("textarea.resizable");
			e.find(".item-input").each(function() {
				var e = i(this),
					a = ["checkbox", "button", "submit", "range", "radio", "image"];
				e.find("input, select, textarea").each(function() {
					var t = i(this);
					a.indexOf(t.attr("type")) < 0 && (e.addClass("item-input-field"), "" !== t.val().trim() && t.parents(
						".item-input, .input-field").add(t.parents(".item-inner")).addClass("not-empty-state"))
				}), e.parents(".input-item, .inputs-list").length > 0 || e.parents(".list-block").eq(0).addClass("inputs-list")
			})
		}, r.initMaterialWatchInputs = function() {
			function e(e) {
				var a = i(this),
					t = a.attr("type");
				if (!(r.indexOf(t) >= 0)) {
					a.add(a.parents(".item-input, .input-field")).add(a.parents(".item-inner").eq(0)).addClass("focus-state")
				}
			}

			function a(e) {
				var a = i(this),
					t = a.val(),
					n = a.attr("type");
				if (!(r.indexOf(n) >= 0)) {
					var s = a.add(a.parents(".item-input, .input-field")).add(a.parents(".item-inner").eq(0));
					s.removeClass("focus-state"), t && "" !== t.trim() ? s.addClass("not-empty-state") : s.removeClass(
						"not-empty-state")
				}
			}

			function t(e) {
				var a = i(this),
					t = a.val(),
					n = a.attr("type");
				if (!(r.indexOf(n) >= 0)) {
					var s = a.add(a.parents(".item-input, .input-field")).add(a.parents(".item-inner").eq(0));
					0 !== s.length && (t && "string" == typeof t && "" !== t.trim() || Array.isArray(t) && t.length > 0 ? s.addClass(
						"not-empty-state") : s.removeClass("not-empty-state"))
				}
			}
			var r = ["checkbox", "button", "submit", "range", "radio", "image"];
			i(document).on("change", "input, textarea, select", t, !0), i(document).on("focus", "input, textarea, select", e,
				!0), i(document).on("blur", "input, textarea, select", a, !0)
		}, window.Swiper = function(a, t) {
			function r(e) {
				return Math.floor(e)
			}

			function n() {
				var e = v.params.autoplay,
					a = v.slides.eq(v.activeIndex);
				a.attr("data-swiper-autoplay") && (e = a.attr("data-swiper-autoplay") || v.params.autoplay), v.autoplayTimeoutId =
					setTimeout(function() {
						v.params.loop ? (v.fixLoop(), v._slideNext(), v.emit("onAutoplay", v)) : v.isEnd ? t.autoplayStopOnLast ? v.stopAutoplay() :
							(v._slideTo(0), v.emit("onAutoplay", v)) : (v._slideNext(), v.emit("onAutoplay", v))
					}, e)
			}

			function s(e, a) {
				var t = i(e.target);
				if (!t.is(a))
					if ("string" == typeof a) t = t.parents(a);
					else if (a.nodeType) {
					var r;
					return t.parents().each(function(e, t) {
						t === a && (r = a)
					}), r ? a : void 0
				}
				if (0 !== t.length) return t[0]
			}

			function o(e, a) {
				a = a || {};
				var t = window.MutationObserver || window.WebkitMutationObserver,
					r = new t(function(e) {
						e.forEach(function(e) {
							v.onResize(!0), v.emit("onObserverUpdate", v, e)
						})
					});
				r.observe(e, {
					attributes: void 0 === a.attributes || a.attributes,
					childList: void 0 === a.childList || a.childList,
					characterData: void 0 === a.characterData || a.characterData
				}), v.observers.push(r)
			}

			function l(e, a) {
				e = i(e);
				var t, r, n, s = v.rtl ? -1 : 1;
				t = e.attr("data-swiper-parallax") || "0", r = e.attr("data-swiper-parallax-x"), n = e.attr(
						"data-swiper-parallax-y"), r || n ? (r = r || "0", n = n || "0") : v.isHorizontal() ? (r = t, n = "0") : (n = t,
						r = "0"), r = r.indexOf("%") >= 0 ? parseInt(r, 10) * a * s + "%" : r * a * s + "px", n = n.indexOf("%") >= 0 ?
					parseInt(n, 10) * a + "%" : n * a + "px", e.transform("translate3d(" + r + ", " + n + ",0px)")
			}

			function p(e) {
				return 0 !== e.indexOf("on") && (e = e[0] !== e[0].toUpperCase() ? "on" + e[0].toUpperCase() + e.substring(1) :
					"on" + e), e
			}
			if (!(this instanceof Swiper)) return new Swiper(a, t);
			var d = {
					direction: "horizontal",
					touchEventsTarget: "container",
					initialSlide: 0,
					speed: 300,
					autoplay: !1,
					autoplayDisableOnInteraction: !0,
					autoplayStopOnLast: !1,
					iOSEdgeSwipeDetection: !1,
					iOSEdgeSwipeThreshold: 20,
					freeMode: !1,
					freeModeMomentum: !0,
					freeModeMomentumRatio: 1,
					freeModeMomentumBounce: !0,
					freeModeMomentumBounceRatio: 1,
					freeModeMomentumVelocityRatio: 1,
					freeModeSticky: !1,
					freeModeMinimumVelocity: .02,
					autoHeight: !1,
					setWrapperSize: !1,
					virtualTranslate: !1,
					effect: "slide",
					coverflow: {
						rotate: 50,
						stretch: 0,
						depth: 100,
						modifier: 1,
						slideShadows: !0
					},
					flip: {
						slideShadows: !0,
						limitRotation: !0
					},
					cube: {
						slideShadows: !0,
						shadow: !0,
						shadowOffset: 20,
						shadowScale: .94
					},
					fade: {
						crossFade: !1
					},
					parallax: !1,
					zoom: !1,
					zoomMax: 3,
					zoomMin: 1,
					zoomToggle: !0,
					scrollbar: null,
					scrollbarHide: !0,
					scrollbarDraggable: !1,
					scrollbarSnapOnRelease: !1,
					keyboardControl: !1,
					mousewheelControl: !1,
					mousewheelReleaseOnEdges: !1,
					mousewheelInvert: !1,
					mousewheelForceToAxis: !1,
					mousewheelSensitivity: 1,
					mousewheelEventsTarged: "container",
					hashnav: !1,
					hashnavWatchState: !1,
					history: !1,
					replaceState: !1,
					breakpoints: void 0,
					spaceBetween: 0,
					slidesPerView: 1,
					slidesPerColumn: 1,
					slidesPerColumnFill: "column",
					slidesPerGroup: 1,
					centeredSlides: !1,
					slidesOffsetBefore: 0,
					slidesOffsetAfter: 0,
					roundLengths: !1,
					touchRatio: 1,
					touchAngle: 45,
					simulateTouch: !0,
					shortSwipes: !0,
					longSwipes: !0,
					longSwipesRatio: .5,
					longSwipesMs: 300,
					followFinger: !0,
					onlyExternal: !1,
					threshold: 0,
					touchMoveStopPropagation: !0,
					touchReleaseOnEdges: !1,
					uniqueNavElements: !0,
					pagination: null,
					paginationElement: "span",
					paginationClickable: !1,
					paginationHide: !1,
					paginationBulletRender: null,
					paginationProgressRender: null,
					paginationFractionRender: null,
					paginationCustomRender: null,
					paginationType: "bullets",
					resistance: !0,
					resistanceRatio: .85,
					nextButton: null,
					prevButton: null,
					watchSlidesProgress: !1,
					watchSlidesVisibility: !1,
					grabCursor: !1,
					preventClicks: !0,
					preventClicksPropagation: !0,
					slideToClickedSlide: !1,
					lazyLoading: !1,
					lazyLoadingInPrevNext: !1,
					lazyLoadingInPrevNextAmount: 1,
					lazyLoadingOnTransitionStart: !1,
					preloadImages: !0,
					updateOnImagesReady: !0,
					loop: !1,
					loopAdditionalSlides: 0,
					loopedSlides: null,
					control: void 0,
					controlInverse: !1,
					controlBy: "slide",
					normalizeSlideIndex: !0,
					allowSwipeToPrev: !0,
					allowSwipeToNext: !0,
					swipeHandler: null,
					noSwiping: !0,
					noSwipingClass: "swiper-no-swiping",
					passiveListeners: !0,
					containerModifierClass: "swiper-container-",
					slideClass: "swiper-slide",
					slideActiveClass: "swiper-slide-active",
					slideDuplicateActiveClass: "swiper-slide-duplicate-active",
					slideVisibleClass: "swiper-slide-visible",
					slideDuplicateClass: "swiper-slide-duplicate",
					slideNextClass: "swiper-slide-next",
					slideDuplicateNextClass: "swiper-slide-duplicate-next",
					slidePrevClass: "swiper-slide-prev",
					slideDuplicatePrevClass: "swiper-slide-duplicate-prev",
					wrapperClass: "swiper-wrapper",
					bulletClass: "swiper-pagination-bullet",
					bulletActiveClass: "swiper-pagination-bullet-active",
					buttonDisabledClass: "swiper-button-disabled",
					paginationCurrentClass: "swiper-pagination-current",
					paginationTotalClass: "swiper-pagination-total",
					paginationHiddenClass: "swiper-pagination-hidden",
					paginationProgressbarClass: "swiper-pagination-progressbar",
					paginationClickableClass: "swiper-pagination-clickable",
					paginationModifierClass: "swiper-pagination-",
					lazyLoadingClass: "swiper-lazy",
					lazyStatusLoadingClass: "swiper-lazy-loading",
					lazyStatusLoadedClass: "swiper-lazy-loaded",
					lazyPreloaderClass: "swiper-lazy-preloader",
					notificationClass: "swiper-notification",
					preloaderClass: "preloader",
					zoomContainerClass: "swiper-zoom-container",
					observer: !1,
					observeParents: !1,
					a11y: !1,
					prevSlideMessage: "Previous slide",
					nextSlideMessage: "Next slide",
					firstSlideMessage: "This is the first slide",
					lastSlideMessage: "This is the last slide",
					paginationBulletMessage: "Go to slide {{index}}",
					runCallbacksOnInit: !0
				},
				c = t && t.virtualTranslate;
			t = t || {};
			var u = {};
			for (var m in t)
				if ("object" != typeof t[m] || null === t[m] || (t[m].nodeType || t[m] === window || t[m] === document || void 0 !==
						e && t[m] instanceof e || "undefined" != typeof jQuery && t[m] instanceof jQuery)) u[m] = t[m];
				else {
					u[m] = {};
					for (var f in t[m]) u[m][f] = t[m][f]
				} for (var h in d)
				if (void 0 === t[h]) t[h] = d[h];
				else if ("object" == typeof t[h])
				for (var g in d[h]) void 0 === t[h][g] && (t[h][g] = d[h][g]);
			var v = this;
			if (v.params = t, v.originalParams = u, v.classNames = [], void 0 !== i && void 0 !== e && (i = e), (void 0 !== i ||
					(i = void 0 === e ? window.Dom7 || window.Zepto || window.jQuery : e)) && (v.$ = i, v.currentBreakpoint = void 0,
					v.getActiveBreakpoint = function() {
						if (!v.params.breakpoints) return !1;
						var e, a = !1,
							t = [];
						for (e in v.params.breakpoints) v.params.breakpoints.hasOwnProperty(e) && t.push(e);
						t.sort(function(e, a) {
							return parseInt(e, 10) > parseInt(a, 10)
						});
						for (var r = 0; r < t.length; r++)(e = t[r]) >= window.innerWidth && !a && (a = e);
						return a || "max"
					}, v.setBreakpoint = function() {
						var e = v.getActiveBreakpoint();
						if (e && v.currentBreakpoint !== e) {
							var a = e in v.params.breakpoints ? v.params.breakpoints[e] : v.originalParams,
								t = v.params.loop && a.slidesPerView !== v.params.slidesPerView;
							for (var r in a) v.params[r] = a[r];
							v.currentBreakpoint = e, t && v.destroyLoop && v.reLoop(!0)
						}
					}, v.params.breakpoints && v.setBreakpoint(), v.container = i(a), 0 !== v.container.length)) {
				if (v.container.length > 1) {
					var b = [];
					return v.container.each(function() {
						b.push(new Swiper(this, t))
					}), b
				}
				v.container[0].swiper = v, v.container.data("swiper", v), v.classNames.push(v.params.containerModifierClass + v.params
						.direction), v.params.freeMode && v.classNames.push(v.params.containerModifierClass + "free-mode"), v.support.flexbox ||
					(v.classNames.push(v.params.containerModifierClass + "no-flexbox"), v.params.slidesPerColumn = 1), v.params.autoHeight &&
					v.classNames.push(v.params.containerModifierClass + "autoheight"), (v.params.parallax || v.params.watchSlidesVisibility) &&
					(v.params.watchSlidesProgress = !0), v.params.touchReleaseOnEdges && (v.params.resistanceRatio = 0), ["cube",
						"coverflow", "flip"
					].indexOf(v.params.effect) >= 0 && (v.support.transforms3d ? (v.params.watchSlidesProgress = !0, v.classNames.push(
						v.params.containerModifierClass + "3d")) : v.params.effect = "slide"), "slide" !== v.params.effect && v.classNames
					.push(v.params.containerModifierClass + v.params.effect), "cube" === v.params.effect && (v.params.resistanceRatio =
						0, v.params.slidesPerView = 1, v.params.slidesPerColumn = 1, v.params.slidesPerGroup = 1, v.params.centeredSlides = !
						1, v.params.spaceBetween = 0, v.params.virtualTranslate = !0), "fade" !== v.params.effect && "flip" !== v.params
					.effect || (v.params.slidesPerView = 1, v.params.slidesPerColumn = 1, v.params.slidesPerGroup = 1, v.params.watchSlidesProgress = !
						0, v.params.spaceBetween = 0, void 0 === c && (v.params.virtualTranslate = !0)), v.params.grabCursor && v.support
					.touch && (v.params.grabCursor = !1), v.wrapper = v.container.children("." + v.params.wrapperClass), v.params.pagination &&
					(v.paginationContainer = i(v.params.pagination), v.params.uniqueNavElements && "string" == typeof v.params.pagination &&
						v.paginationContainer.length > 1 && 1 === v.container.find(v.params.pagination).length && (v.paginationContainer =
							v.container.find(v.params.pagination)), "bullets" === v.params.paginationType && v.params.paginationClickable ?
						v.paginationContainer.addClass(v.params.paginationModifierClass + "clickable") : v.params.paginationClickable = !
						1, v.paginationContainer.addClass(v.params.paginationModifierClass + v.params.paginationType)), (v.params.nextButton ||
						v.params.prevButton) && (v.params.nextButton && (v.nextButton = i(v.params.nextButton), v.params.uniqueNavElements &&
						"string" == typeof v.params.nextButton && v.nextButton.length > 1 && 1 === v.container.find(v.params.nextButton)
						.length && (v.nextButton = v.container.find(v.params.nextButton))), v.params.prevButton && (v.prevButton = i(v
							.params.prevButton), v.params.uniqueNavElements && "string" == typeof v.params.prevButton && v.prevButton.length >
						1 && 1 === v.container.find(v.params.prevButton).length && (v.prevButton = v.container.find(v.params.prevButton))
					)), v.isHorizontal = function() {
						return "horizontal" === v.params.direction
					}, v.rtl = v.isHorizontal() && ("rtl" === v.container[0].dir.toLowerCase() || "rtl" === v.container.css(
						"direction")), v.rtl && v.classNames.push(v.params.containerModifierClass + "rtl"), v.rtl && (v.wrongRTL =
						"-webkit-box" === v.wrapper.css("display")), v.params.slidesPerColumn > 1 && v.classNames.push(v.params.containerModifierClass +
						"multirow"), v.device.android && v.classNames.push(v.params.containerModifierClass + "android"), v.container.addClass(
						v.classNames.join(" ")), v.translate = 0, v.progress = 0, v.velocity = 0, v.lockSwipeToNext = function() {
						v.params.allowSwipeToNext = !1, !1 === v.params.allowSwipeToPrev && v.params.grabCursor && v.unsetGrabCursor()
					}, v.lockSwipeToPrev = function() {
						v.params.allowSwipeToPrev = !1, !1 === v.params.allowSwipeToNext && v.params.grabCursor && v.unsetGrabCursor()
					}, v.lockSwipes = function() {
						v.params.allowSwipeToNext = v.params.allowSwipeToPrev = !1, v.params.grabCursor && v.unsetGrabCursor()
					}, v.unlockSwipeToNext = function() {
						v.params.allowSwipeToNext = !0, !0 === v.params.allowSwipeToPrev && v.params.grabCursor && v.setGrabCursor()
					}, v.unlockSwipeToPrev = function() {
						v.params.allowSwipeToPrev = !0, !0 === v.params.allowSwipeToNext && v.params.grabCursor && v.setGrabCursor()
					}, v.unlockSwipes = function() {
						v.params.allowSwipeToNext = v.params.allowSwipeToPrev = !0, v.params.grabCursor && v.setGrabCursor()
					}, v.setGrabCursor = function(e) {
						v.container[0].style.cursor = "move", v.container[0].style.cursor = e ? "-webkit-grabbing" : "-webkit-grab", v.container[
							0].style.cursor = e ? "-moz-grabbin" : "-moz-grab", v.container[0].style.cursor = e ? "grabbing" : "grab"
					}, v.unsetGrabCursor = function() {
						v.container[0].style.cursor = ""
					}, v.params.grabCursor && v.setGrabCursor(), v.imagesToLoad = [], v.imagesLoaded = 0, v.loadImage = function(e,
						a, t, r, n, i) {
						function s() {
							i && i()
						}
						var o;
						e.complete && n ? s() : a ? (o = new window.Image, o.onload = s, o.onerror = s, r && (o.sizes = r), t && (o.srcset =
							t), a && (o.src = a)) : s()
					}, v.preloadImages = function() {
						function e() {
							void 0 !== v && null !== v && v && (void 0 !== v.imagesLoaded && v.imagesLoaded++, v.imagesLoaded === v.imagesToLoad
								.length && (v.params.updateOnImagesReady && v.update(), v.emit("onImagesReady", v)))
						}
						v.imagesToLoad = v.container.find("img");
						for (var a = 0; a < v.imagesToLoad.length; a++) v.loadImage(v.imagesToLoad[a], v.imagesToLoad[a].currentSrc ||
							v.imagesToLoad[a].getAttribute("src"), v.imagesToLoad[a].srcset || v.imagesToLoad[a].getAttribute("srcset"),
							v.imagesToLoad[a].sizes || v.imagesToLoad[a].getAttribute("sizes"), !0, e)
					}, v.autoplayTimeoutId = void 0, v.autoplaying = !1, v.autoplayPaused = !1, v.startAutoplay = function() {
						return void 0 === v.autoplayTimeoutId && (!!v.params.autoplay && (!v.autoplaying && (v.autoplaying = !0, v.emit(
							"onAutoplayStart", v), void n())))
					}, v.stopAutoplay = function(e) {
						v.autoplayTimeoutId && (v.autoplayTimeoutId && clearTimeout(v.autoplayTimeoutId), v.autoplaying = !1, v.autoplayTimeoutId =
							void 0, v.emit("onAutoplayStop", v))
					}, v.pauseAutoplay = function(e) {
						v.autoplayPaused || (v.autoplayTimeoutId && clearTimeout(v.autoplayTimeoutId), v.autoplayPaused = !0, 0 === e ?
							(v.autoplayPaused = !1, n()) : v.wrapper.transitionEnd(function() {
								v && (v.autoplayPaused = !1, v.autoplaying ? n() : v.stopAutoplay())
							}))
					}, v.minTranslate = function() {
						return -v.snapGrid[0]
					}, v.maxTranslate = function() {
						return -v.snapGrid[v.snapGrid.length - 1]
					}, v.updateAutoHeight = function() {
						var e, a = [],
							t = 0;
						if ("auto" !== v.params.slidesPerView && v.params.slidesPerView > 1)
							for (e = 0; e < Math.ceil(v.params.slidesPerView); e++) {
								var r = v.activeIndex + e;
								if (r > v.slides.length) break;
								a.push(v.slides.eq(r)[0])
							} else a.push(v.slides.eq(v.activeIndex)[0]);
						for (e = 0; e < a.length; e++)
							if (void 0 !== a[e]) {
								var n = a[e].offsetHeight;
								t = n > t ? n : t
							} t && v.wrapper.css("height", t + "px")
					}, v.updateContainerSize = function() {
						var e, a;
						e = void 0 !== v.params.width ? v.params.width : v.container[0].clientWidth, a = void 0 !== v.params.height ? v
							.params.height : v.container[0].clientHeight, 0 === e && v.isHorizontal() || 0 === a && !v.isHorizontal() || (
								e = e - parseInt(v.container.css("padding-left"), 10) - parseInt(v.container.css("padding-right"), 10), a = a -
								parseInt(v.container.css("padding-top"), 10) - parseInt(v.container.css("padding-bottom"), 10), v.width = e,
								v.height = a, v.size = v.isHorizontal() ? v.width : v.height)
					}, v.updateSlidesSize = function() {
						v.slides = v.wrapper.children("." + v.params.slideClass), v.snapGrid = [], v.slidesGrid = [], v.slidesSizesGrid = [];
						var e, a = v.params.spaceBetween,
							t = -v.params.slidesOffsetBefore,
							n = 0,
							i = 0;
						if (void 0 !== v.size) {
							"string" == typeof a && a.indexOf("%") >= 0 && (a = parseFloat(a.replace("%", "")) / 100 * v.size), v.virtualSize = -
								a, v.rtl ? v.slides.css({
									marginLeft: "",
									marginTop: ""
								}) : v.slides.css({
									marginRight: "",
									marginBottom: ""
								});
							var s;
							v.params.slidesPerColumn > 1 && (s = Math.floor(v.slides.length / v.params.slidesPerColumn) === v.slides.length /
								v.params.slidesPerColumn ? v.slides.length : Math.ceil(v.slides.length / v.params.slidesPerColumn) * v.params
								.slidesPerColumn, "auto" !== v.params.slidesPerView && "row" === v.params.slidesPerColumnFill && (s = Math.max(
									s, v.params.slidesPerView * v.params.slidesPerColumn)));
							var o, l = v.params.slidesPerColumn,
								p = s / l,
								d = p - (v.params.slidesPerColumn * p - v.slides.length);
							for (e = 0; e < v.slides.length; e++) {
								o = 0;
								var c = v.slides.eq(e);
								if (v.params.slidesPerColumn > 1) {
									var u, m, f;
									"column" === v.params.slidesPerColumnFill ? (m = Math.floor(e / l), f = e - m * l, (m > d || m === d && f ===
										l - 1) && ++f >= l && (f = 0, m++), u = m + f * s / l, c.css({
										"-webkit-box-ordinal-group": u,
										"-moz-box-ordinal-group": u,
										"-ms-flex-order": u,
										"-webkit-order": u,
										order: u
									})) : (f = Math.floor(e / p), m = e - f * p), c.css("margin-" + (v.isHorizontal() ? "top" : "left"), 0 !==
										f && v.params.spaceBetween && v.params.spaceBetween + "px").attr("data-swiper-column", m).attr(
										"data-swiper-row", f)
								}
								"none" !== c.css("display") && ("auto" === v.params.slidesPerView ? (o = v.isHorizontal() ? c.outerWidth(!0) :
										c.outerHeight(!0), v.params.roundLengths && (o = r(o))) : (o = (v.size - (v.params.slidesPerView - 1) * a) /
										v.params.slidesPerView, v.params.roundLengths && (o = r(o)), v.isHorizontal() ? v.slides[e].style.width =
										o + "px" : v.slides[e].style.height = o + "px"), v.slides[e].swiperSlideSize = o, v.slidesSizesGrid.push(o),
									v.params.centeredSlides ? (t = t + o / 2 + n / 2 + a, 0 === n && 0 !== e && (t = t - v.size / 2 - a), 0 ===
										e && (t = t - v.size / 2 - a), Math.abs(t) < .001 && (t = 0), i % v.params.slidesPerGroup == 0 && v.snapGrid
										.push(t), v.slidesGrid.push(t)) : (i % v.params.slidesPerGroup == 0 && v.snapGrid.push(t), v.slidesGrid.push(
										t), t = t + o + a), v.virtualSize += o + a, n = o, i++)
							}
							v.virtualSize = Math.max(v.virtualSize, v.size) + v.params.slidesOffsetAfter;
							var h;
							if (v.rtl && v.wrongRTL && ("slide" === v.params.effect || "coverflow" === v.params.effect) && v.wrapper.css({
									width: v.virtualSize + v.params.spaceBetween + "px"
								}), v.support.flexbox && !v.params.setWrapperSize || (v.isHorizontal() ? v.wrapper.css({
									width: v.virtualSize + v.params.spaceBetween + "px"
								}) : v.wrapper.css({
									height: v.virtualSize + v.params.spaceBetween + "px"
								})), v.params.slidesPerColumn > 1 && (v.virtualSize = (o + v.params.spaceBetween) * s, v.virtualSize = Math.ceil(
									v.virtualSize / v.params.slidesPerColumn) - v.params.spaceBetween, v.isHorizontal() ? v.wrapper.css({
									width: v.virtualSize + v.params.spaceBetween + "px"
								}) : v.wrapper.css({
									height: v.virtualSize + v.params.spaceBetween + "px"
								}), v.params.centeredSlides)) {
								for (h = [], e = 0; e < v.snapGrid.length; e++) v.snapGrid[e] < v.virtualSize + v.snapGrid[0] && h.push(v.snapGrid[
									e]);
								v.snapGrid = h
							}
							if (!v.params.centeredSlides) {
								for (h = [], e = 0; e < v.snapGrid.length; e++) v.snapGrid[e] <= v.virtualSize - v.size && h.push(v.snapGrid[
									e]);
								v.snapGrid = h, Math.floor(v.virtualSize - v.size) - Math.floor(v.snapGrid[v.snapGrid.length - 1]) > 1 && v.snapGrid
									.push(v.virtualSize - v.size)
							}
							0 === v.snapGrid.length && (v.snapGrid = [0]), 0 !== v.params.spaceBetween && (v.isHorizontal() ? v.rtl ? v.slides
								.css({
									marginLeft: a + "px"
								}) : v.slides.css({
									marginRight: a + "px"
								}) : v.slides.css({
									marginBottom: a + "px"
								})), v.params.watchSlidesProgress && v.updateSlidesOffset()
						}
					}, v.updateSlidesOffset = function() {
						for (var e = 0; e < v.slides.length; e++) v.slides[e].swiperSlideOffset = v.isHorizontal() ? v.slides[e].offsetLeft :
							v.slides[e].offsetTop
					}, v.currentSlidesPerView = function() {
						var e, a, t = 1;
						if (v.params.centeredSlides) {
							var r, n = v.slides[v.activeIndex].swiperSlideSize;
							for (e = v.activeIndex + 1; e < v.slides.length; e++) v.slides[e] && !r && (n += v.slides[e].swiperSlideSize,
								t++, n > v.size && (r = !0));
							for (a = v.activeIndex - 1; a >= 0; a--) v.slides[a] && !r && (n += v.slides[a].swiperSlideSize, t++, n > v.size &&
								(r = !0))
						} else
							for (e = v.activeIndex + 1; e < v.slides.length; e++) v.slidesGrid[e] - v.slidesGrid[v.activeIndex] < v.size &&
								t++;
						return t
					}, v.updateSlidesProgress = function(e) {
						if (void 0 === e && (e = v.translate || 0), 0 !== v.slides.length) {
							void 0 === v.slides[0].swiperSlideOffset && v.updateSlidesOffset();
							var a = -e;
							v.rtl && (a = e), v.slides.removeClass(v.params.slideVisibleClass);
							for (var t = 0; t < v.slides.length; t++) {
								var r = v.slides[t],
									n = (a + (v.params.centeredSlides ? v.minTranslate() : 0) - r.swiperSlideOffset) / (r.swiperSlideSize + v.params
										.spaceBetween);
								if (v.params.watchSlidesVisibility) {
									var i = -(a - r.swiperSlideOffset),
										s = i + v.slidesSizesGrid[t];
									(i >= 0 && i < v.size || s > 0 && s <= v.size || i <= 0 && s >= v.size) && v.slides.eq(t).addClass(v.params.slideVisibleClass)
								}
								r.progress = v.rtl ? -n : n
							}
						}
					}, v.updateProgress = function(e) {
						void 0 === e && (e = v.translate || 0);
						var a = v.maxTranslate() - v.minTranslate(),
							t = v.isBeginning,
							r = v.isEnd;
						0 === a ? (v.progress = 0, v.isBeginning = v.isEnd = !0) : (v.progress = (e - v.minTranslate()) / a, v.isBeginning =
								v.progress <= 0, v.isEnd = v.progress >= 1), v.isBeginning && !t && v.emit("onReachBeginning", v), v.isEnd &&
							!r && v.emit("onReachEnd", v), v.params.watchSlidesProgress && v.updateSlidesProgress(e), v.emit("onProgress",
								v, v.progress)
					}, v.updateActiveIndex = function() {
						var e, a, t, r = v.rtl ? v.translate : -v.translate;
						for (a = 0; a < v.slidesGrid.length; a++) void 0 !== v.slidesGrid[a + 1] ? r >= v.slidesGrid[a] && r < v.slidesGrid[
								a + 1] - (v.slidesGrid[a + 1] - v.slidesGrid[a]) / 2 ? e = a : r >= v.slidesGrid[a] && r < v.slidesGrid[a + 1] &&
							(e = a + 1) : r >= v.slidesGrid[a] && (e = a);
						v.params.normalizeSlideIndex && (e < 0 || void 0 === e) && (e = 0), t = Math.floor(e / v.params.slidesPerGroup),
							t >= v.snapGrid.length && (t = v.snapGrid.length - 1), e !== v.activeIndex && (v.snapIndex = t, v.previousIndex =
								v.activeIndex, v.activeIndex = e, v.updateClasses(), v.updateRealIndex())
					}, v.updateRealIndex = function() {
						v.realIndex = parseInt(v.slides.eq(v.activeIndex).attr("data-swiper-slide-index") || v.activeIndex, 10)
					}, v.updateClasses = function() {
						v.slides.removeClass(v.params.slideActiveClass + " " + v.params.slideNextClass + " " + v.params.slidePrevClass +
							" " + v.params.slideDuplicateActiveClass + " " + v.params.slideDuplicateNextClass + " " + v.params.slideDuplicatePrevClass
						);
						var e = v.slides.eq(v.activeIndex);
						e.addClass(v.params.slideActiveClass), t.loop && (e.hasClass(v.params.slideDuplicateClass) ? v.wrapper.children(
							"." + v.params.slideClass + ":not(." + v.params.slideDuplicateClass + ')[data-swiper-slide-index="' + v.realIndex +
							'"]').addClass(v.params.slideDuplicateActiveClass) : v.wrapper.children("." + v.params.slideClass + "." + v.params
							.slideDuplicateClass + '[data-swiper-slide-index="' + v.realIndex + '"]').addClass(v.params.slideDuplicateActiveClass));
						var a = e.next("." + v.params.slideClass).addClass(v.params.slideNextClass);
						v.params.loop && 0 === a.length && (a = v.slides.eq(0), a.addClass(v.params.slideNextClass));
						var r = e.prev("." + v.params.slideClass).addClass(v.params.slidePrevClass);
						if (v.params.loop && 0 === r.length && (r = v.slides.eq(-1), r.addClass(v.params.slidePrevClass)), t.loop && (a
								.hasClass(v.params.slideDuplicateClass) ? v.wrapper.children("." + v.params.slideClass + ":not(." + v.params.slideDuplicateClass +
									')[data-swiper-slide-index="' + a.attr("data-swiper-slide-index") + '"]').addClass(v.params.slideDuplicateNextClass) :
								v.wrapper.children("." + v.params.slideClass + "." + v.params.slideDuplicateClass +
									'[data-swiper-slide-index="' + a.attr("data-swiper-slide-index") + '"]').addClass(v.params.slideDuplicateNextClass),
								r.hasClass(v.params.slideDuplicateClass) ? v.wrapper.children("." + v.params.slideClass + ":not(." + v.params
									.slideDuplicateClass + ')[data-swiper-slide-index="' + r.attr("data-swiper-slide-index") + '"]').addClass(v.params
									.slideDuplicatePrevClass) : v.wrapper.children("." + v.params.slideClass + "." + v.params.slideDuplicateClass +
									'[data-swiper-slide-index="' + r.attr("data-swiper-slide-index") + '"]').addClass(v.params.slideDuplicatePrevClass)
							), v.paginationContainer && v.paginationContainer.length > 0) {
							var n, s = v.params.loop ? Math.ceil((v.slides.length - 2 * v.loopedSlides) / v.params.slidesPerGroup) : v.snapGrid
								.length;
							if (v.params.loop ? (n = Math.ceil((v.activeIndex - v.loopedSlides) / v.params.slidesPerGroup), n > v.slides.length -
									1 - 2 * v.loopedSlides && (n -= v.slides.length - 2 * v.loopedSlides), n > s - 1 && (n -= s), n < 0 &&
									"bullets" !== v.params.paginationType && (n = s + n)) : n = void 0 !== v.snapIndex ? v.snapIndex : v.activeIndex ||
								0, "bullets" === v.params.paginationType && v.bullets && v.bullets.length > 0 && (v.bullets.removeClass(v.params
									.bulletActiveClass), v.paginationContainer.length > 1 ? v.bullets.each(function() {
									i(this).index() === n && i(this).addClass(v.params.bulletActiveClass)
								}) : v.bullets.eq(n).addClass(v.params.bulletActiveClass)), "fraction" === v.params.paginationType && (v.paginationContainer
									.find("." + v.params.paginationCurrentClass).text(n + 1), v.paginationContainer.find("." + v.params.paginationTotalClass)
									.text(s)), "progress" === v.params.paginationType) {
								var o = (n + 1) / s,
									l = o,
									p = 1;
								v.isHorizontal() || (p = o, l = 1), v.paginationContainer.find("." + v.params.paginationProgressbarClass).transform(
									"translate3d(0,0,0) scaleX(" + l + ") scaleY(" + p + ")").transition(v.params.speed)
							}
							"custom" === v.params.paginationType && v.params.paginationCustomRender && (v.paginationContainer.html(v.params
								.paginationCustomRender(v, n + 1, s)), v.emit("onPaginationRendered", v, v.paginationContainer[0]))
						}
						v.params.loop || (v.params.prevButton && v.prevButton && v.prevButton.length > 0 && (v.isBeginning ? (v.prevButton
								.addClass(v.params.buttonDisabledClass), v.params.a11y && v.a11y && v.a11y.disable(v.prevButton)) : (v.prevButton
								.removeClass(v.params.buttonDisabledClass), v.params.a11y && v.a11y && v.a11y.enable(v.prevButton))), v.params
							.nextButton && v.nextButton && v.nextButton.length > 0 && (v.isEnd ? (v.nextButton.addClass(v.params.buttonDisabledClass),
								v.params.a11y && v.a11y && v.a11y.disable(v.nextButton)) : (v.nextButton.removeClass(v.params.buttonDisabledClass),
								v.params.a11y && v.a11y && v.a11y.enable(v.nextButton))))
					}, v.updatePagination = function() {
						if (v.params.pagination && v.paginationContainer && v.paginationContainer.length > 0) {
							var e = "";
							if ("bullets" === v.params.paginationType) {
								for (var a = v.params.loop ? Math.ceil((v.slides.length - 2 * v.loopedSlides) / v.params.slidesPerGroup) : v.snapGrid
										.length, t = 0; t < a; t++) v.params.paginationBulletRender ? e += v.params.paginationBulletRender(v, t, v.params
										.bulletClass) : e += "<" + v.params.paginationElement + ' class="' + v.params.bulletClass + '"></' + v.params
									.paginationElement + ">";
								v.paginationContainer.html(e), v.bullets = v.paginationContainer.find("." + v.params.bulletClass), v.params.paginationClickable &&
									v.params.a11y && v.a11y && v.a11y.initPagination()
							}
							"fraction" === v.params.paginationType && (e = v.params.paginationFractionRender ? v.params.paginationFractionRender(
										v, v.params.paginationCurrentClass, v.params.paginationTotalClass) : '<span class="' + v.params.paginationCurrentClass +
									'"></span> / <span class="' + v.params.paginationTotalClass + '"></span>', v.paginationContainer.html(e)),
								"progress" === v.params.paginationType && (e = v.params.paginationProgressRender ? v.params.paginationProgressRender(
										v, v.params.paginationProgressbarClass) : '<span class="' + v.params.paginationProgressbarClass +
									'"></span>', v.paginationContainer.html(e)), "custom" !== v.params.paginationType && v.emit(
									"onPaginationRendered", v, v.paginationContainer[0])
						}
					}, v.update = function(e) {
						function a() {
							v.rtl, v.translate;
							t = Math.min(Math.max(v.translate, v.maxTranslate()), v.minTranslate()), v.setWrapperTranslate(t), v.updateActiveIndex(),
								v.updateClasses()
						}
						if (v) {
							v.updateContainerSize(), v.updateSlidesSize(), v.updateProgress(), v.updatePagination(), v.updateClasses(), v.params
								.scrollbar && v.scrollbar && v.scrollbar.set();
							var t;
							if (e) {
								v.controller && v.controller.spline && (v.controller.spline = void 0), v.params.freeMode ? (a(), v.params.autoHeight &&
										v.updateAutoHeight()) : (("auto" === v.params.slidesPerView || v.params.slidesPerView > 1) && v.isEnd && !v
										.params.centeredSlides ? v.slideTo(v.slides.length - 1, 0, !1, !0) : v.slideTo(v.activeIndex, 0, !1, !0)) ||
									a()
							} else v.params.autoHeight && v.updateAutoHeight()
						}
					}, v.onResize = function(e) {
						v.params.onBeforeResize && v.params.onBeforeResize(v), v.params.breakpoints && v.setBreakpoint();
						var a = v.params.allowSwipeToPrev,
							t = v.params.allowSwipeToNext;
						v.params.allowSwipeToPrev = v.params.allowSwipeToNext = !0, v.updateContainerSize(), v.updateSlidesSize(), (
								"auto" === v.params.slidesPerView || v.params.freeMode || e) && v.updatePagination(), v.params.scrollbar && v
							.scrollbar && v.scrollbar.set(), v.controller && v.controller.spline && (v.controller.spline = void 0);
						var r = !1;
						if (v.params.freeMode) {
							var n = Math.min(Math.max(v.translate, v.maxTranslate()), v.minTranslate());
							v.setWrapperTranslate(n), v.updateActiveIndex(), v.updateClasses(), v.params.autoHeight && v.updateAutoHeight()
						} else v.updateClasses(), r = ("auto" === v.params.slidesPerView || v.params.slidesPerView > 1) && v.isEnd && !
							v.params.centeredSlides ? v.slideTo(v.slides.length - 1, 0, !1, !0) : v.slideTo(v.activeIndex, 0, !1, !0);
						v.params.lazyLoading && !r && v.lazy && v.lazy.load(), v.params.allowSwipeToPrev = a, v.params.allowSwipeToNext =
							t, v.params.onAfterResize && v.params.onAfterResize(v)
					}, v.touchEventsDesktop = {
						start: "mousedown",
						move: "mousemove",
						end: "mouseup"
					}, window.navigator.pointerEnabled ? v.touchEventsDesktop = {
						start: "pointerdown",
						move: "pointermove",
						end: "pointerup"
					} : window.navigator.msPointerEnabled && (v.touchEventsDesktop = {
						start: "MSPointerDown",
						move: "MSPointerMove",
						end: "MSPointerUp"
					}), v.touchEvents = {
						start: v.support.touch || !v.params.simulateTouch ? "touchstart" : v.touchEventsDesktop.start,
						move: v.support.touch || !v.params.simulateTouch ? "touchmove" : v.touchEventsDesktop.move,
						end: v.support.touch || !v.params.simulateTouch ? "touchend" : v.touchEventsDesktop.end
					}, (window.navigator.pointerEnabled || window.navigator.msPointerEnabled) && ("container" === v.params.touchEventsTarget ?
						v.container : v.wrapper).addClass("swiper-wp8-" + v.params.direction), v.initEvents = function(e) {
						var a = e ? "off" : "on",
							r = e ? "removeEventListener" : "addEventListener",
							n = "container" === v.params.touchEventsTarget ? v.container[0] : v.wrapper[0],
							i = v.support.touch ? n : document,
							s = !!v.params.nested;
						if (v.browser.ie) n[r](v.touchEvents.start, v.onTouchStart, !1), i[r](v.touchEvents.move, v.onTouchMove, s), i[
							r](v.touchEvents.end, v.onTouchEnd, !1);
						else {
							if (v.support.touch) {
								var o = !("touchstart" !== v.touchEvents.start || !v.support.passiveListener || !v.params.passiveListeners) &&
									{
										passive: !0,
										capture: !1
									};
								n[r](v.touchEvents.start, v.onTouchStart, o), n[r](v.touchEvents.move, v.onTouchMove, s), n[r](v.touchEvents.end,
									v.onTouchEnd, o)
							}(t.simulateTouch && !v.device.ios && !v.device.android || t.simulateTouch && !v.support.touch && v.device.ios) &&
							(n[r]("mousedown", v.onTouchStart, !1), document[r]("mousemove", v.onTouchMove, s), document[r]("mouseup", v.onTouchEnd,
								!1))
						}
						window[r]("resize", v.onResize), v.params.nextButton && v.nextButton && v.nextButton.length > 0 && (v.nextButton[
								a]("click", v.onClickNext), v.params.a11y && v.a11y && v.nextButton[a]("keydown", v.a11y.onEnterKey)), v.params
							.prevButton && v.prevButton && v.prevButton.length > 0 && (v.prevButton[a]("click", v.onClickPrev), v.params.a11y &&
								v.a11y && v.prevButton[a]("keydown", v.a11y.onEnterKey)), v.params.pagination && v.params.paginationClickable &&
							(v.paginationContainer[a]("click", "." + v.params.bulletClass, v.onClickIndex), v.params.a11y && v.a11y && v.paginationContainer[
								a]("keydown", "." + v.params.bulletClass, v.a11y.onEnterKey)), (v.params.preventClicks || v.params.preventClicksPropagation) &&
							n[r]("click", v.preventClicks, !0)
					}, v.attachEvents = function() {
						v.initEvents()
					}, v.detachEvents = function() {
						v.initEvents(!0)
					}, v.allowClick = !0, v.preventClicks = function(e) {
						v.allowClick || (v.params.preventClicks && e.preventDefault(), v.params.preventClicksPropagation && v.animating &&
							(e.stopPropagation(), e.stopImmediatePropagation()))
					}, v.onClickNext = function(e) {
						e.preventDefault(), v.isEnd && !v.params.loop || v.slideNext()
					}, v.onClickPrev = function(e) {
						e.preventDefault(), v.isBeginning && !v.params.loop || v.slidePrev()
					}, v.onClickIndex = function(e) {
						e.preventDefault();
						var a = i(this).index() * v.params.slidesPerGroup;
						v.params.loop && (a += v.loopedSlides), v.slideTo(a)
					}, v.updateClickedSlide = function(e) {
						var a = s(e, "." + v.params.slideClass),
							t = !1;
						if (a)
							for (var r = 0; r < v.slides.length; r++) v.slides[r] === a && (t = !0);
						if (!a || !t) return v.clickedSlide = void 0, void(v.clickedIndex = void 0);
						if (v.clickedSlide = a, v.clickedIndex = i(a).index(), v.params.slideToClickedSlide && void 0 !== v.clickedIndex &&
							v.clickedIndex !== v.activeIndex) {
							var n, o = v.clickedIndex,
								l = "auto" === v.params.slidesPerView ? v.currentSlidesPerView() : v.params.slidesPerView;
							if (v.params.loop) {
								if (v.animating) return;
								n = parseInt(i(v.clickedSlide).attr("data-swiper-slide-index"), 10), v.params.centeredSlides ? o < v.loopedSlides -
									l / 2 || o > v.slides.length - v.loopedSlides + l / 2 ? (v.fixLoop(), o = v.wrapper.children("." + v.params.slideClass +
											'[data-swiper-slide-index="' + n + '"]:not(.' + v.params.slideDuplicateClass + ")").eq(0).index(),
										setTimeout(function() {
											v.slideTo(o)
										}, 0)) : v.slideTo(o) : o > v.slides.length - l ? (v.fixLoop(), o = v.wrapper.children("." + v.params.slideClass +
											'[data-swiper-slide-index="' + n + '"]:not(.' + v.params.slideDuplicateClass + ")").eq(0).index(),
										setTimeout(function() {
											v.slideTo(o)
										}, 0)) : v.slideTo(o)
							} else v.slideTo(o)
						}
					};
				var w, C, y, x, T, P, k, S, M, O, E = "input, select, textarea, button, video",
					z = Date.now(),
					L = [];
				v.animating = !1, v.touches = {
					startX: 0,
					startY: 0,
					currentX: 0,
					currentY: 0,
					diff: 0
				};
				var I, B;
				v.onTouchStart = function(e) {
					if (e.originalEvent && (e = e.originalEvent), (I = "touchstart" === e.type) || !("which" in e) || 3 !== e.which) {
						if (v.params.noSwiping && s(e, "." + v.params.noSwipingClass)) return void(v.allowClick = !0);
						if (!v.params.swipeHandler || s(e, v.params.swipeHandler)) {
							var a = v.touches.currentX = "touchstart" === e.type ? e.targetTouches[0].pageX : e.pageX,
								t = v.touches.currentY = "touchstart" === e.type ? e.targetTouches[0].pageY : e.pageY;
							if (!(v.device.ios && v.params.iOSEdgeSwipeDetection && a <= v.params.iOSEdgeSwipeThreshold)) {
								if (w = !0, C = !1, y = !0, T = void 0, B = void 0, v.touches.startX = a, v.touches.startY = t, x = Date.now(),
									v.allowClick = !0, v.updateContainerSize(), v.swipeDirection = void 0, v.params.threshold > 0 && (S = !1),
									"touchstart" !== e.type) {
									var r = !0;
									i(e.target).is(E) && (r = !1), document.activeElement && i(document.activeElement).is(E) && document.activeElement
										.blur(), r && e.preventDefault()
								}
								v.emit("onTouchStart", v, e)
							}
						}
					}
				}, v.onTouchMove = function(e) {
					if (e.originalEvent && (e = e.originalEvent), !I || "mousemove" !== e.type) {
						if (e.preventedByNestedSwiper) return v.touches.startX = "touchmove" === e.type ? e.targetTouches[0].pageX : e
							.pageX, void(v.touches.startY = "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY);
						if (v.params.onlyExternal) return v.allowClick = !1, void(w && (v.touches.startX = v.touches.currentX =
							"touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX, v.touches.startY = v.touches.currentY =
							"touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY, x = Date.now()));
						if (I && v.params.touchReleaseOnEdges && !v.params.loop)
							if (v.isHorizontal()) {
								if (v.touches.currentX < v.touches.startX && v.translate <= v.maxTranslate() || v.touches.currentX > v.touches
									.startX && v.translate >= v.minTranslate()) return
							} else if (v.touches.currentY < v.touches.startY && v.translate <= v.maxTranslate() || v.touches.currentY > v
							.touches.startY && v.translate >= v.minTranslate()) return;
						if (I && document.activeElement && e.target === document.activeElement && i(e.target).is(E)) return C = !0,
							void(v.allowClick = !1);
						if (y && v.emit("onTouchMove", v, e), !(e.targetTouches && e.targetTouches.length > 1)) {
							if (v.touches.currentX = "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX, v.touches.currentY =
								"touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY, void 0 === T) {
								var a;
								v.isHorizontal() && v.touches.currentY === v.touches.startY || !v.isHorizontal() && v.touches.currentX ===
									v.touches.startX ? T = !1 : (a = 180 * Math.atan2(Math.abs(v.touches.currentY - v.touches.startY), Math.abs(
											v.touches.currentX - v.touches.startX)) / Math.PI, T = v.isHorizontal() ? a > v.params.touchAngle : 90 -
										a > v.params.touchAngle)
							}
							if (T && v.emit("onTouchMoveOpposite", v, e), void 0 === B && (v.touches.currentX === v.touches.startX && v.touches
									.currentY === v.touches.startY || (B = !0)), w) {
								if (T) return void(w = !1);
								if (B) {
									v.allowClick = !1, v.emit("onSliderMove", v, e), e.preventDefault(), v.params.touchMoveStopPropagation && !
										v.params.nested && e.stopPropagation(), C || (t.loop && v.fixLoop(), k = v.getWrapperTranslate(), v.setWrapperTransition(
												0), v.animating && v.wrapper.trigger(
												"webkitTransitionEnd transitionend oTransitionEnd MSTransitionEnd msTransitionEnd"), v.params.autoplay &&
											v.autoplaying && (v.params.autoplayDisableOnInteraction ? v.stopAutoplay() : v.pauseAutoplay()), O = !1,
											!v.params.grabCursor || !0 !== v.params.allowSwipeToNext && !0 !== v.params.allowSwipeToPrev || v.setGrabCursor(
												!0)), C = !0;
									var r = v.touches.diff = v.isHorizontal() ? v.touches.currentX - v.touches.startX : v.touches.currentY - v.touches
										.startY;
									r *= v.params.touchRatio, v.rtl && (r = -r), v.swipeDirection = r > 0 ? "prev" : "next", P = r + k;
									var n = !0;
									if (r > 0 && P > v.minTranslate() ? (n = !1, v.params.resistance && (P = v.minTranslate() - 1 + Math.pow(-v
											.minTranslate() + k + r, v.params.resistanceRatio))) : r < 0 && P < v.maxTranslate() && (n = !1, v.params
											.resistance && (P = v.maxTranslate() + 1 - Math.pow(v.maxTranslate() - k - r, v.params.resistanceRatio))),
										n && (e.preventedByNestedSwiper = !0), !v.params.allowSwipeToNext && "next" === v.swipeDirection && P < k &&
										(P = k), !v.params.allowSwipeToPrev && "prev" === v.swipeDirection && P > k && (P = k), v.params.threshold >
										0) {
										if (!(Math.abs(r) > v.params.threshold || S)) return void(P = k);
										if (!S) return S = !0, v.touches.startX = v.touches.currentX, v.touches.startY = v.touches.currentY, P = k,
											void(v.touches.diff = v.isHorizontal() ? v.touches.currentX - v.touches.startX : v.touches.currentY - v.touches
												.startY)
									}
									v.params.followFinger && ((v.params.freeMode || v.params.watchSlidesProgress) && v.updateActiveIndex(), v.params
										.freeMode && (0 === L.length && L.push({
											position: v.touches[v.isHorizontal() ? "startX" : "startY"],
											time: x
										}), L.push({
											position: v.touches[v.isHorizontal() ? "currentX" : "currentY"],
											time: (new window.Date).getTime()
										})), v.updateProgress(P), v.setWrapperTranslate(P))
								}
							}
						}
					}
				}, v.onTouchEnd = function(e) {
					if (e.originalEvent && (e = e.originalEvent), y && v.emit("onTouchEnd", v, e), y = !1, w) {
						v.params.grabCursor && C && w && (!0 === v.params.allowSwipeToNext || !0 === v.params.allowSwipeToPrev) && v.setGrabCursor(
							!1);
						var a = Date.now(),
							t = a - x;
						if (v.allowClick && (v.updateClickedSlide(e), v.emit("onTap", v, e), t < 300 && a - z > 300 && (M &&
								clearTimeout(M), M = setTimeout(function() {
									v && (v.params.paginationHide && v.paginationContainer.length > 0 && !i(e.target).hasClass(v.params.bulletClass) &&
										v.paginationContainer.toggleClass(v.params.paginationHiddenClass), v.emit("onClick", v, e))
								}, 300)), t < 300 && a - z < 300 && (M && clearTimeout(M), v.emit("onDoubleTap", v, e))), z = Date.now(),
							setTimeout(function() {
								v && (v.allowClick = !0)
							}, 0), !w || !C || !v.swipeDirection || 0 === v.touches.diff || P === k) return void(w = C = !1);
						w = C = !1;
						var r;
						if (r = v.params.followFinger ? v.rtl ? v.translate : -v.translate : -P, v.params.freeMode) {
							if (r < -v.minTranslate()) return void v.slideTo(v.activeIndex);
							if (r > -v.maxTranslate()) return void(v.slides.length < v.snapGrid.length ? v.slideTo(v.snapGrid.length - 1) :
								v.slideTo(v.slides.length - 1));
							if (v.params.freeModeMomentum) {
								if (L.length > 1) {
									var n = L.pop(),
										s = L.pop(),
										o = n.position - s.position,
										l = n.time - s.time;
									v.velocity = o / l, v.velocity = v.velocity / 2, Math.abs(v.velocity) < v.params.freeModeMinimumVelocity &&
										(v.velocity = 0), (l > 150 || (new window.Date).getTime() - n.time > 300) && (v.velocity = 0)
								} else v.velocity = 0;
								v.velocity = v.velocity * v.params.freeModeMomentumVelocityRatio, L.length = 0;
								var p = 1e3 * v.params.freeModeMomentumRatio,
									d = v.velocity * p,
									c = v.translate + d;
								v.rtl && (c = -c);
								var u, m = !1,
									f = 20 * Math.abs(v.velocity) * v.params.freeModeMomentumBounceRatio;
								if (c < v.maxTranslate()) v.params.freeModeMomentumBounce ? (c + v.maxTranslate() < -f && (c = v.maxTranslate() -
									f), u = v.maxTranslate(), m = !0, O = !0) : c = v.maxTranslate();
								else if (c > v.minTranslate()) v.params.freeModeMomentumBounce ? (c - v.minTranslate() > f && (c = v.minTranslate() +
									f), u = v.minTranslate(), m = !0, O = !0) : c = v.minTranslate();
								else if (v.params.freeModeSticky) {
									var h, g = 0;
									for (g = 0; g < v.snapGrid.length; g += 1)
										if (v.snapGrid[g] > -c) {
											h = g;
											break
										} c = Math.abs(v.snapGrid[h] - c) < Math.abs(v.snapGrid[h - 1] - c) || "next" === v.swipeDirection ? v.snapGrid[
										h] : v.snapGrid[h - 1], v.rtl || (c = -c)
								}
								if (0 !== v.velocity) p = v.rtl ? Math.abs((-c - v.translate) / v.velocity) : Math.abs((c - v.translate) / v
									.velocity);
								else if (v.params.freeModeSticky) return void v.slideReset();
								v.params.freeModeMomentumBounce && m ? (v.updateProgress(u), v.setWrapperTransition(p), v.setWrapperTranslate(
									c), v.onTransitionStart(), v.animating = !0, v.wrapper.transitionEnd(function() {
									v && O && (v.emit("onMomentumBounce", v), v.setWrapperTransition(v.params.speed), v.setWrapperTranslate(
										u), v.wrapper.transitionEnd(function() {
										v && v.onTransitionEnd()
									}))
								})) : v.velocity ? (v.updateProgress(c), v.setWrapperTransition(p), v.setWrapperTranslate(c), v.onTransitionStart(),
									v.animating || (v.animating = !0, v.wrapper.transitionEnd(function() {
										v && v.onTransitionEnd()
									}))) : v.updateProgress(c), v.updateActiveIndex()
							}
							return void((!v.params.freeModeMomentum || t >= v.params.longSwipesMs) && (v.updateProgress(), v.updateActiveIndex()))
						}
						var b, T = 0,
							S = v.slidesSizesGrid[0];
						for (b = 0; b < v.slidesGrid.length; b += v.params.slidesPerGroup) void 0 !== v.slidesGrid[b + v.params.slidesPerGroup] ?
							r >= v.slidesGrid[b] && r < v.slidesGrid[b + v.params.slidesPerGroup] && (T = b, S = v.slidesGrid[b + v.params
								.slidesPerGroup] - v.slidesGrid[b]) : r >= v.slidesGrid[b] && (T = b, S = v.slidesGrid[v.slidesGrid.length -
								1] - v.slidesGrid[v.slidesGrid.length - 2]);
						var E = (r - v.slidesGrid[T]) / S;
						if (t > v.params.longSwipesMs) {
							if (!v.params.longSwipes) return void v.slideTo(v.activeIndex);
							"next" === v.swipeDirection && (E >= v.params.longSwipesRatio ? v.slideTo(T + v.params.slidesPerGroup) : v.slideTo(
								T)), "prev" === v.swipeDirection && (E > 1 - v.params.longSwipesRatio ? v.slideTo(T + v.params.slidesPerGroup) :
								v.slideTo(T))
						} else {
							if (!v.params.shortSwipes) return void v.slideTo(v.activeIndex);
							"next" === v.swipeDirection && v.slideTo(T + v.params.slidesPerGroup), "prev" === v.swipeDirection && v.slideTo(
								T)
						}
					}
				}, v._slideTo = function(e, a) {
					return v.slideTo(e, a, !0, !0)
				}, v.slideTo = function(e, a, t, r) {
					void 0 === t && (t = !0), void 0 === e && (e = 0), e < 0 && (e = 0), v.snapIndex = Math.floor(e / v.params.slidesPerGroup),
						v.snapIndex >= v.snapGrid.length && (v.snapIndex = v.snapGrid.length - 1);
					var n = -v.snapGrid[v.snapIndex];
					if (v.params.autoplay && v.autoplaying && (r || !v.params.autoplayDisableOnInteraction ? v.pauseAutoplay(a) : v
							.stopAutoplay()), v.updateProgress(n), v.params.normalizeSlideIndex)
						for (var i = 0; i < v.slidesGrid.length; i++) - Math.floor(100 * n) >= Math.floor(100 * v.slidesGrid[i]) && (e =
							i);
					return !(!v.params.allowSwipeToNext && n < v.translate && n < v.minTranslate()) && (!(!v.params.allowSwipeToPrev &&
						n > v.translate && n > v.maxTranslate() && (v.activeIndex || 0) !== e) && (void 0 === a && (a = v.params.speed),
						v.previousIndex = v.activeIndex || 0, v.activeIndex = e, v.updateRealIndex(), v.rtl && -n === v.translate ||
						!v.rtl && n === v.translate ? (v.params.autoHeight && v.updateAutoHeight(), v.updateClasses(), "slide" !==
							v.params.effect && v.setWrapperTranslate(n), !1) : (v.updateClasses(), v.onTransitionStart(t), 0 === a || v
							.browser.lteIE9 ? (v.setWrapperTranslate(n), v.setWrapperTransition(0), v.onTransitionEnd(t)) : (v.setWrapperTranslate(
								n), v.setWrapperTransition(a), v.animating || (v.animating = !0, v.wrapper.transitionEnd(function() {
								v && v.onTransitionEnd(t)
							}))), !0)))
				}, v.onTransitionStart = function(e) {
					void 0 === e && (e = !0), v.params.autoHeight && v.updateAutoHeight(), v.lazy && v.lazy.onTransitionStart(), e &&
						(v.emit("onTransitionStart", v), v.activeIndex !== v.previousIndex && (v.emit("onSlideChangeStart", v), v.activeIndex >
							v.previousIndex ? v.emit("onSlideNextStart", v) : v.emit("onSlidePrevStart", v)))
				}, v.onTransitionEnd = function(e) {
					v.animating = !1, v.setWrapperTransition(0), void 0 === e && (e = !0), v.lazy && v.lazy.onTransitionEnd(), e &&
						(v.emit("onTransitionEnd", v), v.activeIndex !== v.previousIndex && (v.emit("onSlideChangeEnd", v), v.activeIndex >
							v.previousIndex ? v.emit("onSlideNextEnd", v) : v.emit("onSlidePrevEnd", v))), v.params.history && v.history &&
						v.history.setHistory(v.params.history, v.activeIndex), v.params.hashnav && v.hashnav && v.hashnav.setHash()
				}, v.slideNext = function(e, a, t) {
					if (v.params.loop) {
						if (v.animating) return !1;
						v.fixLoop();
						v.container[0].clientLeft;
						return v.slideTo(v.activeIndex + v.params.slidesPerGroup, a, e, t)
					}
					return v.slideTo(v.activeIndex + v.params.slidesPerGroup, a, e, t)
				}, v._slideNext = function(e) {
					return v.slideNext(!0, e, !0)
				}, v.slidePrev = function(e, a, t) {
					if (v.params.loop) {
						if (v.animating) return !1;
						v.fixLoop();
						v.container[0].clientLeft;
						return v.slideTo(v.activeIndex - 1, a, e, t)
					}
					return v.slideTo(v.activeIndex - 1, a, e, t)
				}, v._slidePrev = function(e) {
					return v.slidePrev(!0, e, !0)
				}, v.slideReset = function(e, a, t) {
					return v.slideTo(v.activeIndex, a, e)
				}, v.disableTouchControl = function() {
					return v.params.onlyExternal = !0, !0
				}, v.enableTouchControl = function() {
					return v.params.onlyExternal = !1, !0
				}, v.setWrapperTransition = function(e, a) {
					v.wrapper.transition(e), "slide" !== v.params.effect && v.effects[v.params.effect] && v.effects[v.params.effect]
						.setTransition(e), v.params.parallax && v.parallax && v.parallax.setTransition(e), v.params.scrollbar && v.scrollbar &&
						v.scrollbar.setTransition(e), v.params.control && v.controller && v.controller.setTransition(e, a), v.emit(
							"onSetTransition", v, e)
				}, v.setWrapperTranslate = function(e, a, t) {
					var n = 0,
						i = 0;
					v.isHorizontal() ? n = v.rtl ? -e : e : i = e, v.params.roundLengths && (n = r(n), i = r(i)), v.params.virtualTranslate ||
						(v.support.transforms3d ? v.wrapper.transform("translate3d(" + n + "px, " + i + "px, 0px)") : v.wrapper.transform(
							"translate(" + n + "px, " + i + "px)")), v.translate = v.isHorizontal() ? n : i;
					var s, o = v.maxTranslate() - v.minTranslate();
					s = 0 === o ? 0 : (e - v.minTranslate()) / o, s !== v.progress && v.updateProgress(e), a && v.updateActiveIndex(),
						"slide" !== v.params.effect && v.effects[v.params.effect] && v.effects[v.params.effect].setTranslate(v.translate),
						v.params.parallax && v.parallax && v.parallax.setTranslate(v.translate), v.params.scrollbar && v.scrollbar &&
						v.scrollbar.setTranslate(v.translate), v.params.control && v.controller && v.controller.setTranslate(v.translate,
							t), v.emit("onSetTranslate", v, v.translate)
				}, v.getTranslate = function(e, a) {
					var t, r, n, i;
					return void 0 === a && (a = "x"), v.params.virtualTranslate ? v.rtl ? -v.translate : v.translate : (n = window.getComputedStyle(
						e, null), window.WebKitCSSMatrix ? (r = n.transform || n.webkitTransform, r.split(",").length > 6 && (r = r.split(
						", ").map(function(e) {
						return e.replace(",", ".")
					}).join(", ")), i = new window.WebKitCSSMatrix("none" === r ? "" : r)) : (i = n.MozTransform || n.OTransform ||
						n.MsTransform || n.msTransform || n.transform || n.getPropertyValue("transform").replace("translate(",
							"matrix(1, 0, 0, 1,"), t = i.toString().split(",")), "x" === a && (r = window.WebKitCSSMatrix ? i.m41 : 16 ===
						t.length ? parseFloat(t[12]) : parseFloat(t[4])), "y" === a && (r = window.WebKitCSSMatrix ? i.m42 : 16 ===
						t.length ? parseFloat(t[13]) : parseFloat(t[5])), v.rtl && r && (r = -r), r || 0)
				}, v.getWrapperTranslate = function(e) {
					return void 0 === e && (e = v.isHorizontal() ? "x" : "y"), v.getTranslate(v.wrapper[0], e)
				}, v.observers = [], v.initObservers = function() {
					if (v.params.observeParents)
						for (var e = v.container.parents(), a = 0; a < e.length; a++) o(e[a]);
					o(v.container[0], {
						childList: !1
					}), o(v.wrapper[0], {
						attributes: !1
					})
				}, v.disconnectObservers = function() {
					for (var e = 0; e < v.observers.length; e++) v.observers[e].disconnect();
					v.observers = []
				}, v.createLoop = function() {
					v.wrapper.children("." + v.params.slideClass + "." + v.params.slideDuplicateClass).remove();
					var e = v.wrapper.children("." + v.params.slideClass);
					"auto" !== v.params.slidesPerView || v.params.loopedSlides || (v.params.loopedSlides = e.length), v.loopedSlides =
						parseInt(v.params.loopedSlides || v.params.slidesPerView, 10), v.loopedSlides = v.loopedSlides + v.params.loopAdditionalSlides,
						v.loopedSlides > e.length && (v.loopedSlides = e.length);
					var a, t = [],
						r = [];
					for (e.each(function(a, n) {
							var s = i(this);
							a < v.loopedSlides && r.push(n), a < e.length && a >= e.length - v.loopedSlides && t.push(n), s.attr(
								"data-swiper-slide-index", a)
						}), a = 0; a < r.length; a++) v.wrapper.append(i(r[a].cloneNode(!0)).addClass(v.params.slideDuplicateClass));
					for (a = t.length - 1; a >= 0; a--) v.wrapper.prepend(i(t[a].cloneNode(!0)).addClass(v.params.slideDuplicateClass))
				}, v.destroyLoop = function() {
					v.wrapper.children("." + v.params.slideClass + "." + v.params.slideDuplicateClass).remove(), v.slides.removeAttr(
						"data-swiper-slide-index")
				}, v.reLoop = function(e) {
					var a = v.activeIndex - v.loopedSlides;
					v.destroyLoop(), v.createLoop(), v.updateSlidesSize(), e && v.slideTo(a + v.loopedSlides, 0, !1)
				}, v.fixLoop = function() {
					var e;
					v.activeIndex < v.loopedSlides ? (e = v.slides.length - 3 * v.loopedSlides + v.activeIndex, e += v.loopedSlides,
						v.slideTo(e, 0, !1, !0)) : ("auto" === v.params.slidesPerView && v.activeIndex >= 2 * v.loopedSlides || v.activeIndex >
						v.slides.length - 2 * v.params.slidesPerView) && (e = -v.slides.length + v.activeIndex + v.loopedSlides, e +=
						v.loopedSlides, v.slideTo(e, 0, !1, !0))
				}, v.appendSlide = function(e) {
					if (v.params.loop && v.destroyLoop(), "object" == typeof e && e.length)
						for (var a = 0; a < e.length; a++) e[a] && v.wrapper.append(e[a]);
					else v.wrapper.append(e);
					v.params.loop && v.createLoop(), v.params.observer && v.support.observer || v.update(!0)
				}, v.prependSlide = function(e) {
					v.params.loop && v.destroyLoop();
					var a = v.activeIndex + 1;
					if ("object" == typeof e && e.length) {
						for (var t = 0; t < e.length; t++) e[t] && v.wrapper.prepend(e[t]);
						a = v.activeIndex + e.length
					} else v.wrapper.prepend(e);
					v.params.loop && v.createLoop(), v.params.observer && v.support.observer || v.update(!0), v.slideTo(a, 0, !1)
				}, v.removeSlide = function(e) {
					v.params.loop && (v.destroyLoop(), v.slides = v.wrapper.children("." + v.params.slideClass));
					var a, t = v.activeIndex;
					if ("object" == typeof e && e.length) {
						for (var r = 0; r < e.length; r++) a = e[r], v.slides[a] && v.slides.eq(a).remove(), a < t && t--;
						t = Math.max(t, 0)
					} else a = e, v.slides[a] && v.slides.eq(a).remove(), a < t && t--, t = Math.max(t, 0);
					v.params.loop && v.createLoop(), v.params.observer && v.support.observer || v.update(!0), v.params.loop ? v.slideTo(
						t + v.loopedSlides, 0, !1) : v.slideTo(t, 0, !1)
				}, v.removeAllSlides = function() {
					for (var e = [], a = 0; a < v.slides.length; a++) e.push(a);
					v.removeSlide(e)
				}, v.effects = {
					fade: {
						setTranslate: function() {
							for (var e = 0; e < v.slides.length; e++) {
								var a = v.slides.eq(e),
									t = a[0].swiperSlideOffset,
									r = -t;
								v.params.virtualTranslate || (r -= v.translate);
								var n = 0;
								v.isHorizontal() || (n = r, r = 0);
								var i = v.params.fade.crossFade ? Math.max(1 - Math.abs(a[0].progress), 0) : 1 + Math.min(Math.max(a[0].progress,
									-1), 0);
								a.css({
									opacity: i
								}).transform("translate3d(" + r + "px, " + n + "px, 0px)")
							}
						},
						setTransition: function(e) {
							if (v.slides.transition(e), v.params.virtualTranslate && 0 !== e) {
								var a = !1;
								v.slides.transitionEnd(function() {
									if (!a && v) {
										a = !0, v.animating = !1;
										for (var e = ["webkitTransitionEnd", "transitionend", "oTransitionEnd", "MSTransitionEnd",
												"msTransitionEnd"
											], t = 0; t < e.length; t++) v.wrapper.trigger(e[t])
									}
								})
							}
						}
					},
					flip: {
						setTranslate: function() {
							for (var e = 0; e < v.slides.length; e++) {
								var a = v.slides.eq(e),
									t = a[0].progress;
								v.params.flip.limitRotation && (t = Math.max(Math.min(a[0].progress, 1), -1));
								var r = a[0].swiperSlideOffset,
									n = -180 * t,
									s = n,
									o = 0,
									l = -r,
									p = 0;
								if (v.isHorizontal() ? v.rtl && (s = -s) : (p = l, l = 0, o = -s, s = 0), a[0].style.zIndex = -Math.abs(
										Math.round(t)) + v.slides.length, v.params.flip.slideShadows) {
									var d = v.isHorizontal() ? a.find(".swiper-slide-shadow-left") : a.find(".swiper-slide-shadow-top"),
										c = v.isHorizontal() ? a.find(".swiper-slide-shadow-right") : a.find(".swiper-slide-shadow-bottom");
									0 === d.length && (d = i('<div class="swiper-slide-shadow-' + (v.isHorizontal() ? "left" : "top") +
											'"></div>'), a.append(d)), 0 === c.length && (c = i('<div class="swiper-slide-shadow-' + (v.isHorizontal() ?
											"right" : "bottom") + '"></div>'), a.append(c)), d.length && (d[0].style.opacity = Math.max(-t, 0)), c.length &&
										(c[0].style.opacity = Math.max(t, 0))
								}
								a.transform("translate3d(" + l + "px, " + p + "px, 0px) rotateX(" + o + "deg) rotateY(" + s + "deg)")
							}
						},
						setTransition: function(e) {
							if (v.slides.transition(e).find(
									".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
								).transition(e), v.params.virtualTranslate && 0 !== e) {
								var a = !1;
								v.slides.eq(v.activeIndex).transitionEnd(function() {
									if (!a && v && i(this).hasClass(v.params.slideActiveClass)) {
										a = !0, v.animating = !1;
										for (var e = ["webkitTransitionEnd", "transitionend", "oTransitionEnd", "MSTransitionEnd",
												"msTransitionEnd"
											], t = 0; t < e.length; t++) v.wrapper.trigger(e[t])
									}
								})
							}
						}
					},
					cube: {
						setTranslate: function() {
							var e, a = 0;
							v.params.cube.shadow && (v.isHorizontal() ? (e = v.wrapper.find(".swiper-cube-shadow"), 0 === e.length && (e =
								i('<div class="swiper-cube-shadow"></div>'), v.wrapper.append(e)), e.css({
								height: v.width + "px"
							})) : (e = v.container.find(".swiper-cube-shadow"), 0 === e.length && (e = i(
								'<div class="swiper-cube-shadow"></div>'), v.container.append(e))));
							for (var t = 0; t < v.slides.length; t++) {
								var r = v.slides.eq(t),
									n = 90 * t,
									s = Math.floor(n / 360);
								v.rtl && (n = -n, s = Math.floor(-n / 360));
								var o = Math.max(Math.min(r[0].progress, 1), -1),
									l = 0,
									p = 0,
									d = 0;
								t % 4 == 0 ? (l = 4 * -s * v.size, d = 0) : (t - 1) % 4 == 0 ? (l = 0, d = 4 * -s * v.size) : (t - 2) % 4 ==
									0 ? (l = v.size + 4 * s * v.size, d = v.size) : (t - 3) % 4 == 0 && (l = -v.size, d = 3 * v.size + 4 * v.size *
										s), v.rtl && (l = -l), v.isHorizontal() || (p = l, l = 0);
								var c = "rotateX(" + (v.isHorizontal() ? 0 : -n) + "deg) rotateY(" + (v.isHorizontal() ? n : 0) +
									"deg) translate3d(" + l + "px, " + p + "px, " + d + "px)";
								if (o <= 1 && o > -1 && (a = 90 * t + 90 * o, v.rtl && (a = 90 * -t - 90 * o)), r.transform(c), v.params.cube
									.slideShadows) {
									var u = v.isHorizontal() ? r.find(".swiper-slide-shadow-left") : r.find(".swiper-slide-shadow-top"),
										m = v.isHorizontal() ? r.find(".swiper-slide-shadow-right") : r.find(".swiper-slide-shadow-bottom");
									0 === u.length && (u = i('<div class="swiper-slide-shadow-' + (v.isHorizontal() ? "left" : "top") +
											'"></div>'), r.append(u)), 0 === m.length && (m = i('<div class="swiper-slide-shadow-' + (v.isHorizontal() ?
											"right" : "bottom") + '"></div>'), r.append(m)), u.length && (u[0].style.opacity = Math.max(-o, 0)), m.length &&
										(m[0].style.opacity = Math.max(o, 0))
								}
							}
							if (v.wrapper.css({
									"-webkit-transform-origin": "50% 50% -" + v.size / 2 + "px",
									"-moz-transform-origin": "50% 50% -" + v.size / 2 + "px",
									"-ms-transform-origin": "50% 50% -" + v.size / 2 + "px",
									"transform-origin": "50% 50% -" + v.size / 2 + "px"
								}), v.params.cube.shadow)
								if (v.isHorizontal()) e.transform("translate3d(0px, " + (v.width / 2 + v.params.cube.shadowOffset) + "px, " +
									-v.width / 2 + "px) rotateX(90deg) rotateZ(0deg) scale(" + v.params.cube.shadowScale + ")");
								else {
									var f = Math.abs(a) - 90 * Math.floor(Math.abs(a) / 90),
										h = 1.5 - (Math.sin(2 * f * Math.PI / 360) / 2 + Math.cos(2 * f * Math.PI / 360) / 2),
										g = v.params.cube.shadowScale,
										b = v.params.cube.shadowScale / h,
										w = v.params.cube.shadowOffset;
									e.transform("scale3d(" + g + ", 1, " + b + ") translate3d(0px, " + (v.height / 2 + w) + "px, " + -v.height /
										2 / b + "px) rotateX(-90deg)")
								} var C = v.isSafari || v.isUiWebView ? -v.size / 2 : 0;
							v.wrapper.transform("translate3d(0px,0," + C + "px) rotateX(" + (v.isHorizontal() ? 0 : a) + "deg) rotateY(" +
								(v.isHorizontal() ? -a : 0) + "deg)")
						},
						setTransition: function(e) {
							v.slides.transition(e).find(
								".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
							).transition(e), v.params.cube.shadow && !v.isHorizontal() && v.container.find(".swiper-cube-shadow").transition(
								e)
						}
					},
					coverflow: {
						setTranslate: function() {
							for (var e = v.translate, a = v.isHorizontal() ? -e + v.width / 2 : -e + v.height / 2, t = v.isHorizontal() ?
									v.params.coverflow.rotate : -v.params.coverflow.rotate, r = v.params.coverflow.depth, n = 0, s = v.slides.length; n <
								s; n++) {
								var o = v.slides.eq(n),
									l = v.slidesSizesGrid[n],
									p = o[0].swiperSlideOffset,
									d = (a - p - l / 2) / l * v.params.coverflow.modifier,
									c = v.isHorizontal() ? t * d : 0,
									u = v.isHorizontal() ? 0 : t * d,
									m = -r * Math.abs(d),
									f = v.isHorizontal() ? 0 : v.params.coverflow.stretch * d,
									h = v.isHorizontal() ? v.params.coverflow.stretch * d : 0;
								Math.abs(h) < .001 && (h = 0), Math.abs(f) < .001 && (f = 0), Math.abs(m) < .001 && (m = 0), Math.abs(c) <
									.001 && (c = 0), Math.abs(u) < .001 && (u = 0);
								var g = "translate3d(" + h + "px," + f + "px," + m + "px)  rotateX(" + u + "deg) rotateY(" + c + "deg)";
								if (o.transform(g), o[0].style.zIndex = 1 - Math.abs(Math.round(d)), v.params.coverflow.slideShadows) {
									var b = v.isHorizontal() ? o.find(".swiper-slide-shadow-left") : o.find(".swiper-slide-shadow-top"),
										w = v.isHorizontal() ? o.find(".swiper-slide-shadow-right") : o.find(".swiper-slide-shadow-bottom");
									0 === b.length && (b = i('<div class="swiper-slide-shadow-' + (v.isHorizontal() ? "left" : "top") +
											'"></div>'), o.append(b)), 0 === w.length && (w = i('<div class="swiper-slide-shadow-' + (v.isHorizontal() ?
											"right" : "bottom") + '"></div>'), o.append(w)), b.length && (b[0].style.opacity = d > 0 ? d : 0), w.length &&
										(w[0].style.opacity = -d > 0 ? -d : 0)
								}
							}
							if (v.browser.ie) {
								v.wrapper[0].style.perspectiveOrigin = a + "px 50%"
							}
						},
						setTransition: function(e) {
							v.slides.transition(e).find(
								".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
							).transition(e)
						}
					}
				}, v.lazy = {
					initialImageLoaded: !1,
					loadImageInSlide: function(e, a) {
						if (void 0 !== e && (void 0 === a && (a = !0), 0 !== v.slides.length)) {
							var t = v.slides.eq(e),
								r = t.find("." + v.params.lazyLoadingClass + ":not(." + v.params.lazyStatusLoadedClass + "):not(." + v.params
									.lazyStatusLoadingClass + ")");
							!t.hasClass(v.params.lazyLoadingClass) || t.hasClass(v.params.lazyStatusLoadedClass) || t.hasClass(v.params.lazyStatusLoadingClass) ||
								(r = r.add(t[0])), 0 !== r.length && r.each(function() {
									var e = i(this);
									e.addClass(v.params.lazyStatusLoadingClass);
									var r = e.attr("data-background"),
										n = e.attr("data-src"),
										s = e.attr("data-srcset"),
										o = e.attr("data-sizes");
									v.loadImage(e[0], n || r, s, o, !1, function() {
										if (void 0 !== v && null !== v && v) {
											if (r ? (e.css("background-image", 'url("' + r + '")'), e.removeAttr("data-background")) : (s && (e.attr(
														"srcset", s), e.removeAttr("data-srcset")), o && (e.attr("sizes", o), e.removeAttr("data-sizes")),
													n && (e.attr("src", n), e.removeAttr("data-src"))), e.addClass(v.params.lazyStatusLoadedClass).removeClass(
													v.params.lazyStatusLoadingClass), t.find("." + v.params.lazyPreloaderClass + ", ." + v.params.preloaderClass)
												.remove(), v.params.loop && a) {
												var i = t.attr("data-swiper-slide-index");
												if (t.hasClass(v.params.slideDuplicateClass)) {
													var l = v.wrapper.children('[data-swiper-slide-index="' + i + '"]:not(.' + v.params.slideDuplicateClass +
														")");
													v.lazy.loadImageInSlide(l.index(), !1)
												} else {
													var p = v.wrapper.children("." + v.params.slideDuplicateClass + '[data-swiper-slide-index="' + i +
														'"]');
													v.lazy.loadImageInSlide(p.index(), !1)
												}
											}
											v.emit("onLazyImageReady", v, t[0], e[0])
										}
									}), v.emit("onLazyImageLoad", v, t[0], e[0])
								})
						}
					},
					load: function() {
						var e, a = v.params.slidesPerView;
						if ("auto" === a && (a = 0), v.lazy.initialImageLoaded || (v.lazy.initialImageLoaded = !0), v.params.watchSlidesVisibility)
							v.wrapper.children("." + v.params.slideVisibleClass).each(function() {
								v.lazy.loadImageInSlide(i(this).index())
							});
						else if (a > 1)
							for (e = v.activeIndex; e < v.activeIndex + a; e++) v.slides[e] && v.lazy.loadImageInSlide(e);
						else v.lazy.loadImageInSlide(v.activeIndex);
						if (v.params.lazyLoadingInPrevNext)
							if (a > 1 || v.params.lazyLoadingInPrevNextAmount && v.params.lazyLoadingInPrevNextAmount > 1) {
								var t = v.params.lazyLoadingInPrevNextAmount,
									r = a,
									n = Math.min(v.activeIndex + r + Math.max(t, r), v.slides.length),
									s = Math.max(v.activeIndex - Math.max(r, t), 0);
								for (e = v.activeIndex + a; e < n; e++) v.slides[e] && v.lazy.loadImageInSlide(e);
								for (e = s; e < v.activeIndex; e++) v.slides[e] && v.lazy.loadImageInSlide(e)
							} else {
								var o = v.wrapper.children("." + v.params.slideNextClass);
								o.length > 0 && v.lazy.loadImageInSlide(o.index());
								var l = v.wrapper.children("." + v.params.slidePrevClass);
								l.length > 0 && v.lazy.loadImageInSlide(l.index())
							}
					},
					onTransitionStart: function() {
						v.params.lazyLoading && (v.params.lazyLoadingOnTransitionStart || !v.params.lazyLoadingOnTransitionStart && !
							v.lazy.initialImageLoaded) && v.lazy.load()
					},
					onTransitionEnd: function() {
						v.params.lazyLoading && !v.params.lazyLoadingOnTransitionStart && v.lazy.load()
					}
				}, v.scrollbar = {
					isTouched: !1,
					setDragPosition: function(e) {
						var a = v.scrollbar,
							t = v.isHorizontal() ? "touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX ||
							e.clientX : "touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY || e.clientY,
							r = t - a.track.offset()[v.isHorizontal() ? "left" : "top"] - a.dragSize / 2,
							n = -v.minTranslate() * a.moveDivider,
							i = -v.maxTranslate() * a.moveDivider;
						r < n ? r = n : r > i && (r = i), r = -r / a.moveDivider, v.updateProgress(r), v.setWrapperTranslate(r, !0)
					},
					dragStart: function(e) {
						var a = v.scrollbar;
						a.isTouched = !0, e.preventDefault(), e.stopPropagation(), a.setDragPosition(e), clearTimeout(a.dragTimeout),
							a.track.transition(0), v.params.scrollbarHide && a.track.css("opacity", 1), v.wrapper.transition(100), a.drag
							.transition(100), v.emit("onScrollbarDragStart", v)
					},
					dragMove: function(e) {
						var a = v.scrollbar;
						a.isTouched && (e.preventDefault ? e.preventDefault() : e.returnValue = !1, a.setDragPosition(e), v.wrapper.transition(
							0), a.track.transition(0), a.drag.transition(0), v.emit("onScrollbarDragMove", v))
					},
					dragEnd: function(e) {
						var a = v.scrollbar;
						a.isTouched && (a.isTouched = !1, v.params.scrollbarHide && (clearTimeout(a.dragTimeout), a.dragTimeout =
							setTimeout(function() {
								a.track.css("opacity", 0), a.track.transition(400)
							}, 1e3)), v.emit("onScrollbarDragEnd", v), v.params.scrollbarSnapOnRelease && v.slideReset())
					},
					draggableEvents: function() {
						return !1 !== v.params.simulateTouch || v.support.touch ? v.touchEvents : v.touchEventsDesktop
					}(),
					enableDraggable: function() {
						var e = v.scrollbar,
							a = v.support.touch ? e.track : document;
						i(e.track).on(e.draggableEvents.start, e.dragStart), i(a).on(e.draggableEvents.move, e.dragMove), i(a).on(e.draggableEvents
							.end, e.dragEnd)
					},
					disableDraggable: function() {
						var e = v.scrollbar,
							a = v.support.touch ? e.track : document;
						i(e.track).off(e.draggableEvents.start, e.dragStart), i(a).off(e.draggableEvents.move, e.dragMove), i(a).off(
							e.draggableEvents.end, e.dragEnd)
					},
					set: function() {
						if (v.params.scrollbar) {
							var e = v.scrollbar;
							e.track = i(v.params.scrollbar), v.params.uniqueNavElements && "string" == typeof v.params.scrollbar && e.track
								.length > 1 && 1 === v.container.find(v.params.scrollbar).length && (e.track = v.container.find(v.params.scrollbar)),
								e.drag = e.track.find(".swiper-scrollbar-drag"), 0 === e.drag.length && (e.drag = i(
									'<div class="swiper-scrollbar-drag"></div>'), e.track.append(e.drag)), e.drag[0].style.width = "", e.drag[
									0].style.height = "", e.trackSize = v.isHorizontal() ? e.track[0].offsetWidth : e.track[0].offsetHeight, e
								.divider = v.size / v.virtualSize, e.moveDivider = e.divider * (e.trackSize / v.size), e.dragSize = e.trackSize *
								e.divider, v.isHorizontal() ? e.drag[0].style.width = e.dragSize + "px" : e.drag[0].style.height = e.dragSize +
								"px", e.divider >= 1 ? e.track[0].style.display = "none" : e.track[0].style.display = "", v.params.scrollbarHide &&
								(e.track[0].style.opacity = 0)
						}
					},
					setTranslate: function() {
						if (v.params.scrollbar) {
							var e, a = v.scrollbar,
								t = (v.translate, a.dragSize);
							e = (a.trackSize - a.dragSize) * v.progress, v.rtl && v.isHorizontal() ? (e = -e, e > 0 ? (t = a.dragSize -
									e, e = 0) : -e + a.dragSize > a.trackSize && (t = a.trackSize + e)) : e < 0 ? (t = a.dragSize + e, e = 0) :
								e + a.dragSize > a.trackSize && (t = a.trackSize - e), v.isHorizontal() ? (v.support.transforms3d ? a.drag.transform(
										"translate3d(" + e + "px, 0, 0)") : a.drag.transform("translateX(" + e + "px)"), a.drag[0].style.width =
									t + "px") : (v.support.transforms3d ? a.drag.transform("translate3d(0px, " + e + "px, 0)") : a.drag.transform(
									"translateY(" + e + "px)"), a.drag[0].style.height = t + "px"), v.params.scrollbarHide && (clearTimeout(a.timeout),
									a.track[0].style.opacity = 1, a.timeout = setTimeout(function() {
										a.track[0].style.opacity = 0, a.track.transition(400)
									}, 1e3))
						}
					},
					setTransition: function(e) {
						v.params.scrollbar && v.scrollbar.drag.transition(e)
					}
				}, v.controller = {
					LinearSpline: function(e, a) {
						var t = function() {
							var e, a, t;
							return function(r, n) {
								for (a = -1, e = r.length; e - a > 1;) r[t = e + a >> 1] <= n ? a = t : e = t;
								return e
							}
						}();
						this.x = e, this.y = a, this.lastIndex = e.length - 1;
						var r, n;
						this.x.length;
						this.interpolate = function(e) {
							return e ? (n = t(this.x, e), r = n - 1, (e - this.x[r]) * (this.y[n] - this.y[r]) / (this.x[n] - this.x[r]) +
								this.y[r]) : 0
						}
					},
					getInterpolateFunction: function(e) {
						v.controller.spline || (v.controller.spline = v.params.loop ? new v.controller.LinearSpline(v.slidesGrid, e.slidesGrid) :
							new v.controller.LinearSpline(v.snapGrid, e.snapGrid))
					},
					setTranslate: function(e, a) {
						function t(a) {
							e = a.rtl && "horizontal" === a.params.direction ? -v.translate : v.translate, "slide" === v.params.controlBy &&
								(v.controller.getInterpolateFunction(a), n = -v.controller.spline.interpolate(-e)), n && "container" !== v.params
								.controlBy || (r = (a.maxTranslate() - a.minTranslate()) / (v.maxTranslate() - v.minTranslate()), n = (e -
									v.minTranslate()) * r + a.minTranslate()), v.params.controlInverse && (n = a.maxTranslate() - n), a.updateProgress(
									n), a.setWrapperTranslate(n, !1, v), a.updateActiveIndex()
						}
						var r, n, i = v.params.control;
						if (Array.isArray(i))
							for (var s = 0; s < i.length; s++) i[s] !== a && i[s] instanceof Swiper && t(i[s]);
						else i instanceof Swiper && a !== i && t(i)
					},
					setTransition: function(e, a) {
						function t(a) {
							a.setWrapperTransition(e, v), 0 !== e && (a.onTransitionStart(), a.wrapper.transitionEnd(function() {
								n && (a.params.loop && "slide" === v.params.controlBy && a.fixLoop(), a.onTransitionEnd())
							}))
						}
						var r, n = v.params.control;
						if (Array.isArray(n))
							for (r = 0; r < n.length; r++) n[r] !== a && n[r] instanceof Swiper && t(n[r]);
						else n instanceof Swiper && a !== n && t(n)
					}
				}, v.parallax = {
					setTranslate: function() {
						v.container.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(
							function() {
								l(this, v.progress)
							}), v.slides.each(function() {
							var e = i(this);
							e.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function() {
								l(this, Math.min(Math.max(e[0].progress, -1), 1))
							})
						})
					},
					setTransition: function(e) {
						void 0 === e && (e = v.params.speed), v.container.find(
							"[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function() {
							var a = i(this),
								t = parseInt(a.attr("data-swiper-parallax-duration"), 10) || e;
							0 === e && (t = 0), a.transition(t)
						})
					}
				}, v.zoom = {
					scale: 1,
					currentScale: 1,
					isScaling: !1,
					gesture: {
						slide: void 0,
						slideWidth: void 0,
						slideHeight: void 0,
						image: void 0,
						imageWrap: void 0,
						zoomMax: v.params.zoomMax
					},
					image: {
						isTouched: void 0,
						isMoved: void 0,
						currentX: void 0,
						currentY: void 0,
						minX: void 0,
						minY: void 0,
						maxX: void 0,
						maxY: void 0,
						width: void 0,
						height: void 0,
						startX: void 0,
						startY: void 0,
						touchesStart: {},
						touchesCurrent: {}
					},
					velocity: {
						x: void 0,
						y: void 0,
						prevPositionX: void 0,
						prevPositionY: void 0,
						prevTime: void 0
					},
					getDistanceBetweenTouches: function(e) {
						if (e.targetTouches.length < 2) return 1;
						var a = e.targetTouches[0].pageX,
							t = e.targetTouches[0].pageY,
							r = e.targetTouches[1].pageX,
							n = e.targetTouches[1].pageY;
						return Math.sqrt(Math.pow(r - a, 2) + Math.pow(n - t, 2))
					},
					onGestureStart: function(e) {
						var a = v.zoom;
						if (!v.support.gestures) {
							if ("touchstart" !== e.type || "touchstart" === e.type && e.targetTouches.length < 2) return;
							a.gesture.scaleStart = a.getDistanceBetweenTouches(e)
						}
						if (!(a.gesture.slide && a.gesture.slide.length || (a.gesture.slide = i(this), 0 === a.gesture.slide.length &&
								(a.gesture.slide = v.slides.eq(v.activeIndex)), a.gesture.image = a.gesture.slide.find("img, svg, canvas"),
								a.gesture.imageWrap = a.gesture.image.parent("." + v.params.zoomContainerClass), a.gesture.zoomMax = a.gesture
								.imageWrap.attr("data-swiper-zoom") || v.params.zoomMax, 0 !== a.gesture.imageWrap.length))) return void(a.gesture
							.image = void 0);
						a.gesture.image.transition(0), a.isScaling = !0
					},
					onGestureChange: function(e) {
						var a = v.zoom;
						if (!v.support.gestures) {
							if ("touchmove" !== e.type || "touchmove" === e.type && e.targetTouches.length < 2) return;
							a.gesture.scaleMove = a.getDistanceBetweenTouches(e)
						}
						a.gesture.image && 0 !== a.gesture.image.length && (v.support.gestures ? a.scale = e.scale * a.currentScale :
							a.scale = a.gesture.scaleMove / a.gesture.scaleStart * a.currentScale, a.scale > a.gesture.zoomMax && (a.scale =
								a.gesture.zoomMax - 1 + Math.pow(a.scale - a.gesture.zoomMax + 1, .5)), a.scale < v.params.zoomMin && (a.scale =
								v.params.zoomMin + 1 - Math.pow(v.params.zoomMin - a.scale + 1, .5)), a.gesture.image.transform(
								"translate3d(0,0,0) scale(" + a.scale + ")"))
					},
					onGestureEnd: function(e) {
						var a = v.zoom;
						!v.support.gestures && ("touchend" !== e.type || "touchend" === e.type && e.changedTouches.length < 2) || a.gesture
							.image && 0 !== a.gesture.image.length && (a.scale = Math.max(Math.min(a.scale, a.gesture.zoomMax), v.params
								.zoomMin), a.gesture.image.transition(v.params.speed).transform("translate3d(0,0,0) scale(" + a.scale +
								")"), a.currentScale = a.scale, a.isScaling = !1, 1 === a.scale && (a.gesture.slide = void 0))
					},
					onTouchStart: function(e, a) {
						var t = e.zoom;
						t.gesture.image && 0 !== t.gesture.image.length && (t.image.isTouched || ("android" === e.device.os && a.preventDefault(),
							t.image.isTouched = !0, t.image.touchesStart.x = "touchstart" === a.type ? a.targetTouches[0].pageX : a.pageX,
							t.image.touchesStart.y = "touchstart" === a.type ? a.targetTouches[0].pageY : a.pageY))
					},
					onTouchMove: function(e) {
						var a = v.zoom;
						if (a.gesture.image && 0 !== a.gesture.image.length && (v.allowClick = !1, a.image.isTouched && a.gesture.slide)) {
							a.image.isMoved || (a.image.width = a.gesture.image[0].offsetWidth, a.image.height = a.gesture.image[0].offsetHeight,
								a.image.startX = v.getTranslate(a.gesture.imageWrap[0], "x") || 0, a.image.startY = v.getTranslate(a.gesture
									.imageWrap[0], "y") || 0, a.gesture.slideWidth = a.gesture.slide[0].offsetWidth, a.gesture.slideHeight =
								a.gesture.slide[0].offsetHeight, a.gesture.imageWrap.transition(0), v.rtl && (a.image.startX = -a.image.startX),
								v.rtl && (a.image.startY = -a.image.startY));
							var t = a.image.width * a.scale,
								r = a.image.height * a.scale;
							if (!(t < a.gesture.slideWidth && r < a.gesture.slideHeight)) {
								if (a.image.minX = Math.min(a.gesture.slideWidth / 2 - t / 2, 0), a.image.maxX = -a.image.minX, a.image.minY =
									Math.min(a.gesture.slideHeight / 2 - r / 2, 0), a.image.maxY = -a.image.minY, a.image.touchesCurrent.x =
									"touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX, a.image.touchesCurrent.y = "touchmove" === e.type ?
									e.targetTouches[0].pageY : e.pageY, !a.image.isMoved && !a.isScaling) {
									if (v.isHorizontal() && Math.floor(a.image.minX) === Math.floor(a.image.startX) && a.image.touchesCurrent.x <
										a.image.touchesStart.x || Math.floor(a.image.maxX) === Math.floor(a.image.startX) && a.image.touchesCurrent
										.x > a.image.touchesStart.x) return void(a.image.isTouched = !1);
									if (!v.isHorizontal() && Math.floor(a.image.minY) === Math.floor(a.image.startY) && a.image.touchesCurrent
										.y < a.image.touchesStart.y || Math.floor(a.image.maxY) === Math.floor(a.image.startY) && a.image.touchesCurrent
										.y > a.image.touchesStart.y) return void(a.image.isTouched = !1)
								}
								e.preventDefault(), e.stopPropagation(), a.image.isMoved = !0, a.image.currentX = a.image.touchesCurrent.x -
									a.image.touchesStart.x + a.image.startX, a.image.currentY = a.image.touchesCurrent.y - a.image.touchesStart
									.y + a.image.startY, a.image.currentX < a.image.minX && (a.image.currentX = a.image.minX + 1 - Math.pow(a.image
										.minX - a.image.currentX + 1, .8)), a.image.currentX > a.image.maxX && (a.image.currentX = a.image.maxX -
										1 + Math.pow(a.image.currentX - a.image.maxX + 1, .8)), a.image.currentY < a.image.minY && (a.image.currentY =
										a.image.minY + 1 - Math.pow(a.image.minY - a.image.currentY + 1, .8)), a.image.currentY > a.image.maxY &&
									(a.image.currentY = a.image.maxY - 1 + Math.pow(a.image.currentY - a.image.maxY + 1, .8)), a.velocity.prevPositionX ||
									(a.velocity.prevPositionX = a.image.touchesCurrent.x), a.velocity.prevPositionY || (a.velocity.prevPositionY =
										a.image.touchesCurrent.y), a.velocity.prevTime || (a.velocity.prevTime = Date.now()), a.velocity.x = (a.image
										.touchesCurrent.x - a.velocity.prevPositionX) / (Date.now() - a.velocity.prevTime) / 2, a.velocity.y = (a
										.image.touchesCurrent.y - a.velocity.prevPositionY) / (Date.now() - a.velocity.prevTime) / 2, Math.abs(a.image
										.touchesCurrent.x - a.velocity.prevPositionX) < 2 && (a.velocity.x = 0), Math.abs(a.image.touchesCurrent.y -
										a.velocity.prevPositionY) < 2 && (a.velocity.y = 0), a.velocity.prevPositionX = a.image.touchesCurrent.x,
									a.velocity.prevPositionY = a.image.touchesCurrent.y, a.velocity.prevTime = Date.now(), a.gesture.imageWrap
									.transform("translate3d(" + a.image.currentX + "px, " + a.image.currentY + "px,0)")
							}
						}
					},
					onTouchEnd: function(e, a) {
						var t = e.zoom;
						if (t.gesture.image && 0 !== t.gesture.image.length) {
							if (!t.image.isTouched || !t.image.isMoved) return t.image.isTouched = !1, void(t.image.isMoved = !1);
							t.image.isTouched = !1, t.image.isMoved = !1;
							var r = 300,
								n = 300,
								i = t.velocity.x * r,
								s = t.image.currentX + i,
								o = t.velocity.y * n,
								l = t.image.currentY + o;
							0 !== t.velocity.x && (r = Math.abs((s - t.image.currentX) / t.velocity.x)), 0 !== t.velocity.y && (n = Math
								.abs((l - t.image.currentY) / t.velocity.y));
							var p = Math.max(r, n);
							t.image.currentX = s, t.image.currentY = l;
							var d = t.image.width * t.scale,
								c = t.image.height * t.scale;
							t.image.minX = Math.min(t.gesture.slideWidth / 2 - d / 2, 0), t.image.maxX = -t.image.minX, t.image.minY =
								Math.min(t.gesture.slideHeight / 2 - c / 2, 0), t.image.maxY = -t.image.minY, t.image.currentX = Math.max(
									Math.min(t.image.currentX, t.image.maxX), t.image.minX), t.image.currentY = Math.max(Math.min(t.image.currentY,
									t.image.maxY), t.image.minY), t.gesture.imageWrap.transition(p).transform("translate3d(" + t.image.currentX +
									"px, " + t.image.currentY + "px,0)")
						}
					},
					onTransitionEnd: function(e) {
						var a = e.zoom;
						a.gesture.slide && e.previousIndex !== e.activeIndex && (a.gesture.image.transform(
								"translate3d(0,0,0) scale(1)"), a.gesture.imageWrap.transform("translate3d(0,0,0)"), a.gesture.slide = a.gesture
							.image = a.gesture.imageWrap = void 0, a.scale = a.currentScale = 1)
					},
					toggleZoom: function(e, a) {
						var t = e.zoom;
						if (t.gesture.slide || (t.gesture.slide = e.clickedSlide ? i(e.clickedSlide) : e.slides.eq(e.activeIndex), t.gesture
								.image = t.gesture.slide.find("img, svg, canvas"), t.gesture.imageWrap = t.gesture.image.parent("." + e.params
									.zoomContainerClass)), t.gesture.image && 0 !== t.gesture.image.length) {
							var r, n, s, o, l, p, d, c, u, m, f, h, g, v, b, w, C, y;
							void 0 === t.image.touchesStart.x && a ? (r = "touchend" === a.type ? a.changedTouches[0].pageX : a.pageX, n =
								"touchend" === a.type ? a.changedTouches[0].pageY : a.pageY) : (r = t.image.touchesStart.x, n = t.image.touchesStart
								.y), t.scale && 1 !== t.scale ? (t.scale = t.currentScale = 1, t.gesture.imageWrap.transition(300).transform(
									"translate3d(0,0,0)"), t.gesture.image.transition(300).transform("translate3d(0,0,0) scale(1)"), t.gesture
								.slide = void 0) : (t.scale = t.currentScale = t.gesture.imageWrap.attr("data-swiper-zoom") || e.params.zoomMax,
								a ? (C = t.gesture.slide[0].offsetWidth, y = t.gesture.slide[0].offsetHeight, s = t.gesture.slide.offset()
									.left, o = t.gesture.slide.offset().top, l = s + C / 2 - r, p = o + y / 2 - n, u = t.gesture.image[0].offsetWidth,
									m = t.gesture.image[0].offsetHeight, f = u * t.scale, h = m * t.scale, g = Math.min(C / 2 - f / 2, 0), v =
									Math.min(y / 2 - h / 2, 0), b = -g, w = -v, d = l * t.scale, c = p * t.scale, d < g && (d = g), d > b &&
									(d = b), c < v && (c = v), c > w && (c = w)) : (d = 0, c = 0), t.gesture.imageWrap.transition(300).transform(
									"translate3d(" + d + "px, " + c + "px,0)"), t.gesture.image.transition(300).transform(
									"translate3d(0,0,0) scale(" + t.scale + ")"))
						}
					},
					attachEvents: function(e) {
						var a = e ? "off" : "on";
						if (v.params.zoom) {
							var t = (v.slides, !("touchstart" !== v.touchEvents.start || !v.support.passiveListener || !v.params.passiveListeners) &&
								{
									passive: !0,
									capture: !1
								});
							v.support.gestures ? (v.slides[a]("gesturestart", v.zoom.onGestureStart, t), v.slides[a]("gesturechange", v.zoom
									.onGestureChange, t), v.slides[a]("gestureend", v.zoom.onGestureEnd, t)) : "touchstart" === v.touchEvents.start &&
								(v.slides[a](v.touchEvents.start, v.zoom.onGestureStart, t), v.slides[a](v.touchEvents.move, v.zoom.onGestureChange,
									t), v.slides[a](v.touchEvents.end, v.zoom.onGestureEnd, t)), v[a]("touchStart", v.zoom.onTouchStart), v.slides
								.each(function(e, t) {
									i(t).find("." + v.params.zoomContainerClass).length > 0 && i(t)[a](v.touchEvents.move, v.zoom.onTouchMove)
								}), v[a]("touchEnd", v.zoom.onTouchEnd), v[a]("transitionEnd", v.zoom.onTransitionEnd), v.params.zoomToggle &&
								v.on("doubleTap", v.zoom.toggleZoom)
						}
					},
					init: function() {
						v.zoom.attachEvents()
					},
					destroy: function() {
						v.zoom.attachEvents(!0)
					}
				}, v._plugins = [];
				for (var D in v.plugins) {
					var N = v.plugins[D](v, v.params[D]);
					N && v._plugins.push(N)
				}
				return v.callPlugins = function(e) {
					for (var a = 0; a < v._plugins.length; a++) e in v._plugins[a] && v._plugins[a][e](arguments[1], arguments[2],
						arguments[3], arguments[4], arguments[5])
				}, v.emitterEventListeners = {}, v.emit = function(e) {
					v.params[e] && v.params[e](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]);
					var a;
					if (v.emitterEventListeners[e])
						for (a = 0; a < v.emitterEventListeners[e].length; a++) v.emitterEventListeners[e][a](arguments[1], arguments[
							2], arguments[3], arguments[4], arguments[5]);
					v.callPlugins && v.callPlugins(e, arguments[1], arguments[2], arguments[3], arguments[4], arguments[5])
				}, v.on = function(e, a) {
					return e = p(e), v.emitterEventListeners[e] || (v.emitterEventListeners[e] = []), v.emitterEventListeners[e].push(
						a), v
				}, v.off = function(e, a) {
					var t;
					if (e = p(e), void 0 === a) return v.emitterEventListeners[e] = [], v;
					if (v.emitterEventListeners[e] && 0 !== v.emitterEventListeners[e].length) {
						for (t = 0; t < v.emitterEventListeners[e].length; t++) v.emitterEventListeners[e][t] === a && v.emitterEventListeners[
							e].splice(t, 1);
						return v
					}
				}, v.once = function(e, a) {
					e = p(e);
					var t = function() {
						a(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4]), v.off(e, t)
					};
					return v.on(e, t), v
				}, v.a11y = {
					makeFocusable: function(e) {
						return e.attr("tabIndex", "0"), e
					},
					addRole: function(e, a) {
						return e.attr("role", a), e
					},
					addLabel: function(e, a) {
						return e.attr("aria-label", a), e
					},
					disable: function(e) {
						return e.attr("aria-disabled", !0), e
					},
					enable: function(e) {
						return e.attr("aria-disabled", !1), e
					},
					onEnterKey: function(e) {
						13 === e.keyCode && (i(e.target).is(v.params.nextButton) ? (v.onClickNext(e), v.isEnd ? v.a11y.notify(v.params
							.lastSlideMessage) : v.a11y.notify(v.params.nextSlideMessage)) : i(e.target).is(v.params.prevButton) && (v
							.onClickPrev(e), v.isBeginning ? v.a11y.notify(v.params.firstSlideMessage) : v.a11y.notify(v.params.prevSlideMessage)
						), i(e.target).is("." + v.params.bulletClass) && i(e.target)[0].click())
					},
					liveRegion: i('<span class="' + v.params.notificationClass +
						'" aria-live="assertive" aria-atomic="true"></span>'),
					notify: function(e) {
						var a = v.a11y.liveRegion;
						0 !== a.length && (a.html(""), a.html(e))
					},
					init: function() {
						v.params.nextButton && v.nextButton && v.nextButton.length > 0 && (v.a11y.makeFocusable(v.nextButton), v.a11y
								.addRole(v.nextButton, "button"), v.a11y.addLabel(v.nextButton, v.params.nextSlideMessage)), v.params.prevButton &&
							v.prevButton && v.prevButton.length > 0 && (v.a11y.makeFocusable(v.prevButton), v.a11y.addRole(v.prevButton,
								"button"), v.a11y.addLabel(v.prevButton, v.params.prevSlideMessage)), i(v.container).append(v.a11y.liveRegion)
					},
					initPagination: function() {
						v.params.pagination && v.params.paginationClickable && v.bullets && v.bullets.length && v.bullets.each(
							function() {
								var e = i(this);
								v.a11y.makeFocusable(e), v.a11y.addRole(e, "button"), v.a11y.addLabel(e, v.params.paginationBulletMessage.replace(
									/{{index}}/, e.index() + 1))
							})
					},
					destroy: function() {
						v.a11y.liveRegion && v.a11y.liveRegion.length > 0 && v.a11y.liveRegion.remove()
					}
				}, v.init = function() {
					v.params.loop && v.createLoop(), v.updateContainerSize(), v.updateSlidesSize(), v.updatePagination(), v.params.scrollbar &&
						v.scrollbar && (v.scrollbar.set(), v.params.scrollbarDraggable && v.scrollbar.enableDraggable()), "slide" !==
						v.params.effect && v.effects[v.params.effect] && (v.params.loop || v.updateProgress(), v.effects[v.params.effect]
							.setTranslate()), v.params.loop ? v.slideTo(v.params.initialSlide + v.loopedSlides, 0, v.params.runCallbacksOnInit) :
						(v.slideTo(v.params.initialSlide, 0, v.params.runCallbacksOnInit), 0 === v.params.initialSlide && (v.parallax &&
							v.params.parallax && v.parallax.setTranslate(), v.lazy && v.params.lazyLoading && (v.lazy.load(), v.lazy.initialImageLoaded = !
								0))), v.attachEvents(), v.params.observer && v.support.observer && v.initObservers(), v.params.preloadImages &&
						!v.params.lazyLoading && v.preloadImages(), v.params.zoom && v.zoom && v.zoom.init(), v.params.autoplay && v.startAutoplay(),
						v.params.keyboardControl && v.enableKeyboardControl && v.enableKeyboardControl(), v.params.mousewheelControl &&
						v.enableMousewheelControl && v.enableMousewheelControl(), v.params.hashnavReplaceState && (v.params.replaceState =
							v.params.hashnavReplaceState), v.params.history && v.history && v.history.init(), v.params.hashnav && v.hashnav &&
						v.hashnav.init(), v.params.a11y && v.a11y && v.a11y.init(), v.emit("onInit", v)
				}, v.cleanupStyles = function() {
					v.container.removeClass(v.classNames.join(" ")).removeAttr("style"), v.wrapper.removeAttr("style"), v.slides &&
						v.slides.length && v.slides.removeClass([v.params.slideVisibleClass, v.params.slideActiveClass, v.params.slideNextClass,
							v.params.slidePrevClass
						].join(" ")).removeAttr("style").removeAttr("data-swiper-column").removeAttr("data-swiper-row"), v.paginationContainer &&
						v.paginationContainer.length && v.paginationContainer.removeClass(v.params.paginationHiddenClass), v.bullets &&
						v.bullets.length && v.bullets.removeClass(v.params.bulletActiveClass), v.params.prevButton && i(v.params.prevButton)
						.removeClass(v.params.buttonDisabledClass), v.params.nextButton && i(v.params.nextButton).removeClass(v.params
							.buttonDisabledClass), v.params.scrollbar && v.scrollbar && (v.scrollbar.track && v.scrollbar.track.length &&
							v.scrollbar.track.removeAttr("style"), v.scrollbar.drag && v.scrollbar.drag.length && v.scrollbar.drag.removeAttr(
								"style"))
				}, v.destroy = function(e, a) {
					v.detachEvents(), v.stopAutoplay(), v.params.scrollbar && v.scrollbar && v.params.scrollbarDraggable && v.scrollbar
						.disableDraggable(), v.params.loop && v.destroyLoop(), a && v.cleanupStyles(), v.disconnectObservers(), v.params
						.zoom && v.zoom && v.zoom.destroy(), v.params.keyboardControl && v.disableKeyboardControl && v.disableKeyboardControl(),
						v.params.mousewheelControl && v.disableMousewheelControl && v.disableMousewheelControl(), v.params.a11y && v.a11y &&
						v.a11y.destroy(), v.params.history && !v.params.replaceState && window.removeEventListener("popstate", v.history
							.setHistoryPopState), v.params.hashnav && v.hashnav && v.hashnav.destroy(), v.emit("onDestroy"), !1 !== e &&
						(v = null)
				}, v.init(), v
			}
		}, Swiper.prototype = {
			isSafari: function() {
				var e = window.navigator.userAgent.toLowerCase();
				return e.indexOf("safari") >= 0 && e.indexOf("chrome") < 0 && e.indexOf("android") < 0
			}(),
			isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent),
			isArray: function(e) {
				return "[object Array]" === Object.prototype.toString.apply(e)
			},
			browser: {
				ie: window.navigator.pointerEnabled || window.navigator.msPointerEnabled,
				ieTouch: window.navigator.msPointerEnabled && window.navigator.msMaxTouchPoints > 1 || window.navigator.pointerEnabled &&
					window.navigator.maxTouchPoints > 1,
				lteIE9: function() {
					var e = document.createElement("div");
					return e.innerHTML = "\x3c!--[if lte IE 9]><i></i><![endif]--\x3e", 1 === e.getElementsByTagName("i").length
				}()
			},
			device: function() {
				var e = window.navigator.userAgent,
					a = e.match(/(Android);?[\s\/]+([\d.]+)?/),
					t = e.match(/(iPad).*OS\s([\d_]+)/),
					r = e.match(/(iPod)(.*OS\s([\d_]+))?/),
					n = !t && e.match(/(iPhone\sOS|iOS)\s([\d_]+)/);
				return {
					ios: t || n || r,
					android: a
				}
			}(),
			support: {
				touch: window.Modernizr && !0 === Modernizr.touch || function() {
					return !!("ontouchstart" in window || window.DocumentTouch && document instanceof DocumentTouch)
				}(),
				transforms3d: window.Modernizr && !0 === Modernizr.csstransforms3d || function() {
					var e = document.createElement("div").style;
					return "webkitPerspective" in e || "MozPerspective" in e || "OPerspective" in e || "MsPerspective" in e ||
						"perspective" in e
				}(),
				flexbox: function() {
					for (var e = document.createElement("div").style, a =
							"alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient"
							.split(" "), t = 0; t < a.length; t++)
						if (a[t] in e) return !0
				}(),
				observer: function() {
					return "MutationObserver" in window || "WebkitMutationObserver" in window
				}(),
				passiveListener: function() {
					var e = !1;
					try {
						var a = Object.defineProperty({}, "passive", {
							get: function() {
								e = !0
							}
						});
						window.addEventListener("testPassiveListener", null, a)
					} catch (e) {}
					return e
				}(),
				gestures: function() {
					return "ongesturestart" in window
				}()
			},
			plugins: {}
		}, r.swiper = function(e, a) {
			return new Swiper(e, a)
		}, r.initPageSwiper = function(e) {
			function a(a) {
				function t() {
					a.destroy(), e.off("page:beforeremove", t)
				}
				e.on("page:beforeremove", t)
			}
			e = i(e);
			var t = e.find(".swiper-init, .tabs-swipeable-wrap");
			0 !== t.length && t.each(function() {
				var e, t, n = i(this);
				n.hasClass("tabs-swipeable-wrap") && (n.addClass("swiper-container").children(".tabs").addClass(
							"swiper-wrapper").children(".tab").addClass("swiper-slide"), e = n.children(".tabs").children(".tab.active")
						.index()), t = n.data("swiper") ? JSON.parse(n.data("swiper")) : n.dataset(), void 0 === t.initialSlide &&
					void 0 !== e && (t.initialSlide = e), n.hasClass("tabs-swipeable-wrap") && (t.onSlideChangeStart = function(e) {
						r.showTab(e.slides.eq(e.activeIndex))
					}), a(r.swiper(n[0], t))
			})
		}, r.reinitPageSwiper = function(e) {
			e = i(e);
			var a = e.find(".swiper-init, .tabs-swipeable-wrap");
			if (0 !== a.length)
				for (var t = 0; t < a.length; t++) {
					var r = a[0].swiper;
					r && r.update(!0)
				}
		};
		var h = function(e) {
			function a() {
				var e = !1;
				return p.params.convertToPopover || p.params.onlyInPopover ? (!p.inline && p.params.input && (p.params.onlyInPopover ?
					e = !0 : r.device.ios ? e = !!r.device.ipad : r.width >= 768 && (e = !0)), e) : e
			}

			function t() {
				return !!(p.opened && p.container && p.container.length > 0 && p.container.parents(".popover").length > 0)
			}

			function n() {
				if (p.opened)
					for (var e = 0; e < p.cols.length; e++) p.cols[e].divider || (p.cols[e].calcSize(), p.cols[e].setValue(p.cols[e]
						.value, 0, !1))
			}

			function s(e) {
				if (e.preventDefault(), !p.opened && (p.open(), p.params.scrollToInput && !a())) {
					var t = p.input.parents(".page-content");
					if (0 === t.length) return;
					var r, n = parseInt(t.css("padding-top"), 10),
						i = parseInt(t.css("padding-bottom"), 10),
						s = t[0].offsetHeight - n - p.container.height(),
						o = t[0].scrollHeight - n - p.container.height(),
						l = p.input.offset().top - n + p.input[0].offsetHeight;
					if (l > s) {
						var d = t.scrollTop() + l - s;
						d + s > o && (r = d + s - o + i, s === o && (r = p.container.height()), t.css({
							"padding-bottom": r + "px"
						})), t.scrollTop(d, 300)
					}
				}
			}

			function o(e) {
				t() || (p.input && p.input.length > 0 ? e.target !== p.input[0] && 0 === i(e.target).parents(".picker-modal").length &&
					p.close() : 0 === i(e.target).parents(".picker-modal").length && p.close())
			}

			function l() {
				p.opened = !1, p.input && p.input.length > 0 && (p.input.parents(".page-content").css({
					"padding-bottom": ""
				}), r.params.material && p.input.trigger("blur")), p.params.onClose && p.params.onClose(p), p.container.find(
					".picker-items-col").each(function() {
					p.destroyPickerCol(this)
				})
			}
			var p = this,
				d = {
					updateValuesOnMomentum: !1,
					updateValuesOnTouchmove: !0,
					rotateEffect: !1,
					momentumRatio: 7,
					freeMode: !1,
					closeByOutsideClick: !0,
					scrollToInput: !0,
					inputReadOnly: !0,
					convertToPopover: !0,
					onlyInPopover: !1,
					toolbar: !0,
					toolbarCloseText: "Done",
					toolbarTemplate: '<div class="toolbar"><div class="toolbar-inner"><div class="left"></div><div class="right"><a href="#" class="link close-picker">{{closeText}}</a></div></div></div>'
				};
			e = e || {};
			for (var c in d) void 0 === e[c] && (e[c] = d[c]);
			p.params = e, p.cols = [], p.initialized = !1, p.inline = !!p.params.container;
			var u = r.device.ios || navigator.userAgent.toLowerCase().indexOf("safari") >= 0 && navigator.userAgent.toLowerCase()
				.indexOf("chrome") < 0 && !r.device.android;
			return p.setValue = function(e, a) {
				var t = 0;
				if (0 === p.cols.length) return p.value = e, void p.updateValue(e);
				for (var r = 0; r < p.cols.length; r++) p.cols[r] && !p.cols[r].divider && (p.cols[r].setValue(e[t], a), t++)
			}, p.updateValue = function(e) {
				var a, t, r = e || [],
					n = [];
				if (0 === p.cols.length)
					for (a = 0; a < p.params.cols.length; a++) t = p.params.cols[a], void 0 !== t.displayValues && void 0 !== t.values &&
						void 0 !== t.values.indexOf(r[a]) ? n.push(t.displayValues[t.values.indexOf(r[a])]) : n.push(r[a]);
				else
					for (a = 0; a < p.cols.length; a++) p.cols[a].divider || (r.push(p.cols[a].value), n.push(p.cols[a].displayValue));
				r.indexOf(void 0) >= 0 || (p.value = r, p.displayValue = n, p.params.onChange && p.params.onChange(p, p.value, p
					.displayValue), p.input && p.input.length > 0 && (i(p.input).val(p.params.formatValue ? p.params.formatValue(
					p, p.value, p.displayValue) : p.value.join(" ")), i(p.input).trigger("change")))
			}, p.initPickerCol = function(e, a) {
				function t() {
					w = i.requestAnimationFrame(function() {
						m.updateItems(void 0, void 0, 0), t()
					})
				}

				function n(e) {
					y || C || (e.preventDefault(), C = !0, x = T = "touchstart" === e.type ? e.targetTouches[0].pageY : e.pageY, P =
						(new Date).getTime(), I = !0, S = O = i.getTranslate(m.wrapper[0], "y"))
				}

				function s(e) {
					if (C) {
						e.preventDefault(), I = !1, T = "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY, y || (i.cancelAnimationFrame(
							w), y = !0, S = O = i.getTranslate(m.wrapper[0], "y"), m.wrapper.transition(0));
						O = S + (T - x), M = void 0, O < v && (O = v - Math.pow(v - O, .8), M = "min"), O > b && (O = b + Math.pow(O -
							b, .8), M = "max"), m.wrapper.transform("translate3d(0," + O + "px,0)"), m.updateItems(void 0, O, 0, p.params
							.updateValuesOnTouchmove), z = O - E || O, L = (new Date).getTime(), E = O
					}
				}

				function o(e) {
					if (!C || !y) return void(C = y = !1);
					C = y = !1, m.wrapper.transition(""), M && ("min" === M ? m.wrapper.transform("translate3d(0," + v + "px,0)") :
						m.wrapper.transform("translate3d(0," + b + "px,0)")), k = (new Date).getTime();
					var a;
					k - P > 300 ? a = O : (Math.abs(z / (k - L)), a = O + z * p.params.momentumRatio), a = Math.max(Math.min(a, b),
						v);
					var r = -Math.floor((a - b) / h);
					p.params.freeMode || (a = -r * h + b), m.wrapper.transform("translate3d(0," + parseInt(a, 10) + "px,0)"), m.updateItems(
						r, a, "", !0), p.params.updateValuesOnMomentum && (t(), m.wrapper.transitionEnd(function() {
						i.cancelAnimationFrame(w)
					})), setTimeout(function() {
						I = !0
					}, 100)
				}

				function l(e) {
					if (I) {
						i.cancelAnimationFrame(w);
						var a = i(this).attr("data-picker-value");
						m.setValue(a)
					}
				}
				var d = i(e),
					c = d.index(),
					m = p.cols[c];
				if (!m.divider) {
					m.container = d, m.wrapper = m.container.find(".picker-items-col-wrapper"), m.items = m.wrapper.find(
						".picker-item");
					var f, h, g, v, b;
					m.replaceValues = function(e, a) {
						m.destroyEvents(), m.values = e, m.displayValues = a;
						var t = p.columnHTML(m, !0);
						m.wrapper.html(t), m.items = m.wrapper.find(".picker-item"), m.calcSize(), m.setValue(m.values[0], 0, !0), m.initEvents()
					};
					m.calcSize = function() {
						p.params.rotateEffect && (m.container.removeClass("picker-items-col-absolute"), m.width || m.container.css({
							width: ""
						}));
						var e, a;
						e = 0, a = m.container[0].offsetHeight, f = m.wrapper[0].offsetHeight, h = m.items[0].offsetHeight, g = h * m
							.items.length, v = a / 2 - g + h / 2, b = a / 2 - h / 2, m.width && (e = m.width, parseInt(e, 10) === e && (
								e += "px"), m.container.css({
								width: e
							})), p.params.rotateEffect && (m.width || (m.items.each(function() {
								var a = i(this).children("span");
								e = Math.max(e, a[0].offsetWidth)
							}), m.container.css({
								width: e + 2 + "px"
							})), m.container.addClass("picker-items-col-absolute"))
					}, m.calcSize(), m.wrapper.transform("translate3d(0," + b + "px,0)").transition(0);
					var w;
					m.setValue = function(e, a, r) {
						void 0 === a && (a = "");
						var n = m.wrapper.find('.picker-item[data-picker-value="' + e + '"]').index();
						if (void 0 !== n && -1 !== n) {
							var s = -n * h + b;
							m.wrapper.transition(a), m.wrapper.transform("translate3d(0," + s + "px,0)"), p.params.updateValuesOnMomentum &&
								m.activeIndex && m.activeIndex !== n && (i.cancelAnimationFrame(w), m.wrapper.transitionEnd(function() {
									i.cancelAnimationFrame(w)
								}), t()), m.updateItems(n, s, a, r)
						}
					}, m.updateItems = function(e, a, t, r) {
						void 0 === a && (a = i.getTranslate(m.wrapper[0], "y")), void 0 === e && (e = -Math.round((a - b) / h)), e <
							0 && (e = 0), e >= m.items.length && (e = m.items.length - 1);
						var n = m.activeIndex;
						m.activeIndex = e, m.wrapper.find(".picker-selected").removeClass("picker-selected"), m.items.transition(t);
						var s = m.items.eq(e).addClass("picker-selected").transform("");
						if (p.params.rotateEffect) {
							Math.floor((a - b) / h);
							m.items.each(function() {
								var e = i(this),
									t = e.index() * h,
									r = b - a,
									n = t - r,
									s = n / h,
									o = Math.ceil(m.height / h / 2) + 1,
									l = -18 * s;
								l > 180 && (l = 180), l < -180 && (l = -180), Math.abs(s) > o ? e.addClass("picker-item-far") : e.removeClass(
									"picker-item-far"), e.transform("translate3d(0, " + (-a + b) + "px, " + (u ? -110 : 0) + "px) rotateX(" +
									l + "deg)")
							})
						}(r || void 0 === r) && (m.value = s.attr("data-picker-value"), m.displayValue = m.displayValues ? m.displayValues[
							e] : m.value, n !== e && (m.onChange && m.onChange(p, m.value, m.displayValue), p.updateValue()))
					}, a && m.updateItems(0, b, 0);
					var C, y, x, T, P, k, S, M, O, E, z, L, I = !0;
					m.initEvents = function(e) {
						var a = e ? "off" : "on",
							t = !!r.support.passiveListener && {
								passive: !1,
								capture: !1
							};
						m.container[a](r.touchEvents.start, n, t), m.container[a](r.touchEvents.move, s, t), m.container[a](r.touchEvents
							.end, o, t), m.items[a]("click", l)
					}, m.destroyEvents = function() {
						m.initEvents(!0)
					}, m.container[0].f7DestroyPickerCol = function() {
						m.destroyEvents()
					}, m.initEvents()
				}
			}, p.destroyPickerCol = function(e) {
				e = i(e), "f7DestroyPickerCol" in e[0] && e[0].f7DestroyPickerCol()
			}, r.onResize(n), p.columnHTML = function(e, a) {
				var t = "",
					r = "";
				if (e.divider) r += '<div class="picker-items-col picker-items-col-divider ' + (e.textAlign ?
					"picker-items-col-" + e.textAlign : "") + " " + (e.cssClass || "") + '">' + e.content + "</div>";
				else {
					for (var n = 0; n < e.values.length; n++) t += '<div class="picker-item" data-picker-value="' + e.values[n] +
						'"><span>' + (e.displayValues ? e.displayValues[n] : e.values[n]) + "</span></div>";
					r += '<div class="picker-items-col ' + (e.textAlign ? "picker-items-col-" + e.textAlign : "") + " " + (e.cssClass ||
						"") + '"><div class="picker-items-col-wrapper">' + t + "</div></div>"
				}
				return a ? t : r
			}, p.layout = function() {
				var e, a = "",
					t = "";
				p.cols = [];
				var r = "";
				for (e = 0; e < p.params.cols.length; e++) {
					var n = p.params.cols[e];
					r += p.columnHTML(p.params.cols[e]), p.cols.push(n)
				}
				t = "picker-modal picker-columns " + (p.params.cssClass || "") + (p.params.rotateEffect ? " picker-3d" : ""), a =
					'<div class="' + t + '">' + (p.params.toolbar ? p.params.toolbarTemplate.replace(/{{closeText}}/g, p.params.toolbarCloseText) :
						"") + '<div class="picker-modal-inner picker-items">' + r +
					'<div class="picker-center-highlight"></div></div></div>', p.pickerHTML = a
			}, p.params.input && (p.input = i(p.params.input), p.input.length > 0 && (p.params.inputReadOnly && p.input.prop(
				"readOnly", !0), p.inline || p.input.on("click", s), p.params.inputReadOnly && p.input.on("focus mousedown",
				function(e) {
					e.preventDefault()
				}))), !p.inline && p.params.closeByOutsideClick && i("html").on("click", o), p.opened = !1, p.open = function() {
				var e = a();
				p.opened || (p.layout(), e ? (p.pickerHTML =
							'<div class="popover popover-picker-columns"><div class="popover-inner">' + p.pickerHTML + "</div></div>", p.popover =
							r.popover(p.pickerHTML, p.params.input, !0), p.container = i(p.popover).find(".picker-modal"), i(p.popover).on(
								"popover:close",
								function() {
									l()
								})) : p.inline ? (p.container = i(p.pickerHTML), p.container.addClass("picker-modal-inline"), i(p.params.container)
							.append(p.container)) : (p.container = i(r.pickerModal(p.pickerHTML)), i(p.container).on("picker:close",
							function() {
								l()
							})), p.container[0].f7Picker = p, p.container.find(".picker-items-col").each(function() {
							var e = !0;
							(!p.initialized && p.params.value || p.initialized && p.value) && (e = !1), p.initPickerCol(this, e)
						}), p.initialized ? p.value && p.setValue(p.value, 0) : p.value ? p.setValue(p.value, 0) : p.params.value && p
						.setValue(p.params.value, 0), p.input && p.input.length > 0 && r.params.material && p.input.trigger("focus")),
					p.opened = !0, p.initialized = !0, p.params.onOpen && p.params.onOpen(p)
			}, p.close = function() {
				if (p.opened && !p.inline) return t() ? void r.closeModal(p.popover) : void r.closeModal(p.container)
			}, p.destroy = function() {
				p.close(), p.params.input && p.input.length > 0 && p.input.off("click focus", s), i("html").off("click", o), r.offResize(
					n)
			}, p.inline ? p.open() : !p.initialized && p.params.value && p.setValue(p.params.value), p
		};
		r.picker = function(e) {
			return new h(e)
		};
		var g;
		r.addNotification = function(e) {
			if (e) {
				void 0 === e.media && (e.media = r.params.notificationMedia), void 0 === e.title && (e.title = r.params.notificationTitle),
					void 0 === e.subtitle && (e.subtitle = r.params.notificationSubtitle), void 0 === e.closeIcon && (e.closeIcon =
						r.params.notificationCloseIcon), void 0 === e.hold && (e.hold = r.params.notificationHold), void 0 === e.closeOnClick &&
					(e.closeOnClick = r.params.notificationCloseOnClick), void 0 === e.button && (e.button = r.params.notificationCloseButtonText &&
						{
							text: r.params.notificationCloseButtonText,
							close: !0
						}), g || (g = document.createElement("div")), e.material = r.params.material;
				var a = i(".notifications");
				0 === a.length && (r.root.append('<div class="notifications list-block' + (e.material ? "" : " media-list") +
					'"><ul></ul></div>'), a = i(".notifications"));
				var t = a.children("ul"),
					n = r.params.notificationTemplate ||
					'{{#if custom}}<li>{{custom}}</li>{{else}}<li class="notification-item notification-hidden"><div class="item-content">{{#if material}}<div class="item-inner"><div class="item-title">{{js "this.message || this.title || this.subtitle"}}</div>{{#if ../button}}{{#button}}<div class="item-after"><a href="#" class="button {{#if color}}color-{{color}}{{/if}} {{#js_compare "this.close !== false"}}close-notification{{/js_compare}}">{{text}}</a></div>{{/button}}{{/if}}</div>{{else}}{{#if media}}<div class="item-media">{{media}}</div>{{/if}}<div class="item-inner"><div class="item-title-row">{{#if title}}<div class="item-title">{{title}}</div>{{/if}}{{#if closeIcon}}<div class="item-after"><a href="#" class="close-notification"><span></span></a></div>{{/if}}</div>{{#if subtitle}}<div class="item-subtitle">{{subtitle}}</div>{{/if}}{{#if message}}<div class="item-text">{{message}}</div></div>{{/if}}{{/if}}</div></li>{{/if}}';
				r._compiledTemplates.notification || (r._compiledTemplates.notification = s.compile(n)), g.innerHTML = r._compiledTemplates
					.notification(e);
				var o = i(g).children();
				o.on("click", function(a) {
					var t = !1,
						n = i(a.target);
					e.material && n.hasClass("button") && e.button && e.button.onClick && e.button.onClick.call(n[0], a, o[0]), n.is(
						".close-notification") || i(a.target).parents(".close-notification").length > 0 ? t = !0 : (e.onClick && e.onClick(
						a, o[0]), e.closeOnClick && (t = !0)), t && r.closeNotification(o[0], a)
				}), e.onClose && o.data("f7NotificationOnClose", function(a) {
					e.onClose(o[0], a)
				}), e.additionalClass && o.addClass(e.additionalClass), e.hold && setTimeout(function() {
					o.length > 0 && r.closeNotification(o[0])
				}, e.hold), r.params.material || r.closeNotification(t.children("li.notification-item:last-child")), t.append(o[
					0]), a.show();
				var l = o.outerHeight();
				return e.material ? (a.transform("translate3d(0, " + l + "px, 0)"), a.transition(0), o[0].clientLeft, a.transform(
					"translate3d(0, 0, 0)"), a.transition("")) : (o.transform("translate3d(0," + -l + "px,0)"), o.transition(0), o[
					0].clientLeft, o.transition(""), o.transform("translate3d(0,0px,0)")), a.transform("translate3d(0, 0,0)"), o.removeClass(
					"notification-hidden"), o[0]
			}
		}, r.closeNotification = function(e, a) {
			if (e = i(e), 0 !== e.length && !e.hasClass("notification-item-removing")) {
				var t = i(".notifications"),
					r = e.outerHeight();
				e.css("height", r + "px").transition(0).addClass("notification-item-removing");
				e[0].clientLeft;
				e.css({
					height: "0px",
					marginBottom: "0px"
				}).transition(""), e.data("f7NotificationOnClose") && e.data("f7NotificationOnClose")(a), 0 === t.find(
					".notification-item:not(.notification-item-removing)").length && t.transform(""), e.addClass(
					"notification-hidden").transitionEnd(function() {
					e.remove(), 0 === t.find(".notification-item").length && t.hide()
				})
			}
		}, r.setProgressbar = function(e, a, t) {
			if (e = i(e || r.root), 0 !== e.length) {
				a && (a = Math.min(Math.max(a, 0), 100));
				var n;
				if (n = e.hasClass("progressbar") ? e : e.children(".progressbar"), 0 !== n.length && !n.hasClass(
						"progressbar-infinite")) {
					n[0].clientLeft;
					return n.children("span").transform("translate3d(" + (-100 + a) + "%,0,0)"), void 0 !== t ? n.children("span").transition(
						t) : n.children("span").transition(""), n[0]
				}
			}
		}, r.showProgressbar = function(e, a, t) {
			if ("number" == typeof e && (e = r.root, a = arguments[0], t = arguments[1]), a && "string" == typeof a &&
				parseFloat(a) !== 1 * a && (t = a, a = void 0), e = i(e || r.root), 0 !== e.length) {
				var n;
				return e.hasClass("progressbar") ? n = e : (n = e.children(
					".progressbar:not(.progressbar-out), .progressbar-infinite:not(.progressbar-out)"), 0 === n.length && (n = i(
					void 0 !== a ? '<span class="progressbar progressbar-in' + (t ? " color-" + t : "") +
					'"><span></span></span>' : '<span class="progressbar-infinite progressbar-in' + (t ? " color-" + t : "") +
					'"></span>'), e.append(n))), a && r.setProgressbar(e, a), n[0]
			}
		}, r.hideProgressbar = function(e) {
			if (e = i(e || r.root), 0 !== e.length) {
				var a;
				a = e.hasClass("progressbar") ? e : e.children(".progressbar, .progressbar-infinite"), 0 !== a.length && a.hasClass(
					"progressbar-in") && !a.hasClass("progressbar-out") && a.removeClass("progressbar-in").addClass(
					"progressbar-out").animationEnd(function() {
					a.remove(), a = null
				})
			}
		}, r.initPageProgressbar = function(e) {
			e = i(e), e.find(".progressbar").each(function() {
				var e = i(this);
				0 === e.children("span").length && e.append("<span></span>"), e.attr("data-progress") && r.setProgressbar(e, e.attr(
					"data-progress"))
			})
		}, r.initTemplate7Templates = function() {
			window.Template7 && (Template7.templates = Template7.templates || r.params.templates || {}, Template7.data =
				Template7.data || r.params.template7Data || {}, Template7.cache = Template7.cache || {}, r.templates = Template7
				.templates, r.template7Data = Template7.data, r.template7Cache = Template7.cache, r.params.precompileTemplates &&
				i('script[type="text/template7"]').each(function() {
					var e = i(this).attr("id");
					e && (Template7.templates[e] = Template7.compile(i(this).html()))
				}))
		};
		var v = [];
		return r.initPlugins = function() {
			for (var e in r.plugins) {
				var a = r.plugins[e](r, r.params[e]);
				a && v.push(a)
			}
		}, r.pluginHook = function(e) {
			for (var a = 0; a < v.length; a++) v[a].hooks && e in v[a].hooks && v[a].hooks[e](arguments[1], arguments[2],
				arguments[3], arguments[4], arguments[5])
		}, r.pluginPrevent = function(e) {
			for (var a = !1, t = 0; t < v.length; t++) v[t].prevents && e in v[t].prevents && v[t].prevents[e](arguments[1],
				arguments[2], arguments[3], arguments[4], arguments[5]) && (a = !0);
			return a
		}, r.pluginProcess = function(e, a) {
			for (var t = a, r = 0; r < v.length; r++) v[r].preprocess && e in v[r].preprocess && (t = v[r].preprocess[e](a,
				arguments[2], arguments[3], arguments[4], arguments[5], arguments[6]));
			return t
		}, r.init = function() {
			r.initTemplate7Templates && r.initTemplate7Templates(), r.initPlugins && r.initPlugins(), r.getDeviceInfo && r.getDeviceInfo(),
				r.initResize && r.initResize(), r.initPanelsBreakpoints && (r.params.panelLeftBreakpoint || r.params.panelRightBreakpoint) &&
				r.initPanelsBreakpoints(), r.initFastClicks && r.params.fastClicks && r.initFastClicks(), r.initClickEvents && r.initClickEvents(),
				i(".page:not(.cached)").each(function() {
					r.initPageWithCallback(this)
				}), i(".navbar:not(.cached)").each(function() {
					r.initNavbarWithCallback(this)
				}), r.initPushState && r.params.pushState && r.initPushState(), r.initSwipeout && r.params.swipeout && r.initSwipeout(),
				r.initSortable && r.params.sortable && r.initSortable(), r.initSwipePanels && (r.params.swipePanel || r.params.swipePanelOnlyClose) &&
				r.initSwipePanels(), r.params.material && r.initMaterialWatchInputs && r.initMaterialWatchInputs(), r.params.material &&
				i(".tabbar").each(function(e, a) {
					0 === i(a).parents(".page").length && r.initMaterialTabbar(a)
				}), r.params.onAppInit && r.params.onAppInit(), r.pluginHook("appInit")
		}, r.params.init && r.init(), r
	};
	var e = function() {
		var e = function(e) {
				var a = this,
					t = 0;
				for (t = 0; t < e.length; t++) a[t] = e[t];
				return a.length = e.length, this
			},
			a = function(a, t) {
				var r = [],
					n = 0;
				if (a && !t && a instanceof e) return a;
				if (a)
					if ("string" == typeof a) {
						var i, s, o;
						if (a = o = a.trim(), o.indexOf("<") >= 0 && o.indexOf(">") >= 0) {
							var l = "div";
							for (0 === o.indexOf("<li") && (l = "ul"), 0 === o.indexOf("<tr") && (l = "tbody"), 0 !== o.indexOf("<td") && 0 !==
								o.indexOf("<th") || (l = "tr"), 0 === o.indexOf("<tbody") && (l = "table"), 0 === o.indexOf("<option") && (l =
									"select"), s = document.createElement(l), s.innerHTML = o, n = 0; n < s.childNodes.length; n++) r.push(s.childNodes[
								n])
						} else
							for (i = t || "#" !== a[0] || a.match(/[ .<>:~]/) ? (t || document).querySelectorAll(a) : [document.getElementById(
									a.split("#")[1])], n = 0; n < i.length; n++) i[n] && r.push(i[n])
					} else if (a.nodeType || a === window || a === document) r.push(a);
				else if (a.length > 0 && a[0].nodeType)
					for (n = 0; n < a.length; n++) r.push(a[n]);
				return new e(r)
			};
		e.prototype = {
				addClass: function(e) {
					if (void 0 === e) return this;
					for (var a = e.split(" "), t = 0; t < a.length; t++)
						for (var r = 0; r < this.length; r++) void 0 !== this[r].classList && this[r].classList.add(a[t]);
					return this
				},
				removeClass: function(e) {
					for (var a = e.split(" "), t = 0; t < a.length; t++)
						for (var r = 0; r < this.length; r++) void 0 !== this[r].classList && this[r].classList.remove(a[t]);
					return this
				},
				hasClass: function(e) {
					return !!this[0] && this[0].classList.contains(e)
				},
				toggleClass: function(e) {
					for (var a = e.split(" "), t = 0; t < a.length; t++)
						for (var r = 0; r < this.length; r++) void 0 !== this[r].classList && this[r].classList.toggle(a[t]);
					return this
				},
				attr: function(e, a) {
					if (1 === arguments.length && "string" == typeof e) return this[0] ? this[0].getAttribute(e) : void 0;
					for (var t = 0; t < this.length; t++)
						if (2 === arguments.length) this[t].setAttribute(e, a);
						else
							for (var r in e) this[t][r] = e[r], this[t].setAttribute(r, e[r]);
					return this
				},
				removeAttr: function(e) {
					for (var a = 0; a < this.length; a++) this[a].removeAttribute(e);
					return this
				},
				prop: function(e, a) {
					if (1 !== arguments.length || "string" != typeof e) {
						for (var t = 0; t < this.length; t++)
							if (2 === arguments.length) this[t][e] = a;
							else
								for (var r in e) this[t][r] = e[r];
						return this
					}
					if (this[0]) return this[0][e]
				},
				data: function(e, a) {
					var t; {
						if (void 0 !== a) {
							for (var r = 0; r < this.length; r++) t = this[r], t.dom7ElementDataStorage || (t.dom7ElementDataStorage = {}),
								t.dom7ElementDataStorage[e] = a;
							return this
						}
						if (t = this[0]) {
							if (t.dom7ElementDataStorage && e in t.dom7ElementDataStorage) return t.dom7ElementDataStorage[e];
							var n = t.getAttribute("data-" + e);
							return n || void 0
						}
					}
				},
				removeData: function(e) {
					for (var a = 0; a < this.length; a++) {
						var t = this[a];
						t.dom7ElementDataStorage && t.dom7ElementDataStorage[e] && (t.dom7ElementDataStorage[e] = null, delete t.dom7ElementDataStorage[
							e])
					}
				},
				dataset: function() {
					var e = this[0];
					if (e) {
						var t = {};
						if (e.dataset)
							for (var r in e.dataset) t[r] = e.dataset[r];
						else
							for (var n = 0; n < e.attributes.length; n++) {
								var i = e.attributes[n];
								i.name.indexOf("data-") >= 0 && (t[a.toCamelCase(i.name.split("data-")[1])] = i.value)
							}
						for (var s in t) "false" === t[s] ? t[s] = !1 : "true" === t[s] ? t[s] = !0 : parseFloat(t[s]) === 1 * t[s] &&
							(t[s] = 1 * t[s]);
						return t
					}
				},
				val: function(e) {
					if (void 0 !== e) {
						for (var a = 0; a < this.length; a++) this[a].value = e;
						return this
					}
					if (this[0]) {
						if (this[0].multiple && "select" === this[0].nodeName.toLowerCase()) {
							for (var t = [], a = 0; a < this[0].selectedOptions.length; a++) t.push(this[0].selectedOptions[a].value);
							return t
						}
						return this[0].value
					}
				},
				transform: function(e) {
					for (var a = 0; a < this.length; a++) {
						var t = this[a].style;
						t.webkitTransform = t.transform = e
					}
					return this
				},
				transition: function(e) {
					"string" != typeof e && (e += "ms");
					for (var a = 0; a < this.length; a++) {
						var t = this[a].style;
						t.webkitTransitionDuration = t.transitionDuration = e
					}
					return this
				},
				on: function(e, t, r, n) {
					function i(e) {
						var n = e.target;
						if (a(n).is(t)) r.call(n, e);
						else
							for (var i = a(n).parents(), s = 0; s < i.length; s++) a(i[s]).is(t) && r.call(i[s], e)
					}
					var s, o, l = e.split(" ");
					for (s = 0; s < this.length; s++)
						if ("function" == typeof t || !1 === t)
							for ("function" == typeof t && (r = arguments[1], n = arguments[2] || !1), o = 0; o < l.length; o++) this[s].addEventListener(
								l[o], r, n);
						else
							for (o = 0; o < l.length; o++) this[s].dom7LiveListeners || (this[s].dom7LiveListeners = []), this[s].dom7LiveListeners
								.push({
									listener: r,
									liveListener: i
								}), this[s].addEventListener(l[o], i, n);
					return this
				},
				off: function(e, a, t, r) {
					for (var n = e.split(" "), i = 0; i < n.length; i++)
						for (var s = 0; s < this.length; s++)
							if ("function" == typeof a || !1 === a) "function" == typeof a && (t = arguments[1], r = arguments[2] || !1),
								this[s].removeEventListener(n[i], t, r);
							else if (this[s].dom7LiveListeners)
						for (var o = 0; o < this[s].dom7LiveListeners.length; o++) this[s].dom7LiveListeners[o].listener === t && this[
							s].removeEventListener(n[i], this[s].dom7LiveListeners[o].liveListener, r);
					return this
				},
				once: function(e, a, t, r) {
					function n(s) {
						t.call(s.target, s), i.off(e, a, n, r)
					}
					var i = this;
					return "function" == typeof a && (t = arguments[1], r = arguments[2], a = !1), i.on(e, a, n, r)
				},
				trigger: function(e, a) {
					for (var t = e.split(" "), r = 0; r < t.length; r++)
						for (var n = 0; n < this.length; n++) {
							var i;
							try {
								i = new CustomEvent(t[r], {
									detail: a,
									bubbles: !0,
									cancelable: !0
								})
							} catch (e) {
								i = document.createEvent("Event"), i.initEvent(t[r], !0, !0), i.detail = a
							}
							this[n].dispatchEvent(i)
						}
					return this
				},
				transitionEnd: function(e) {
					function a(i) {
						if (i.target === this)
							for (e.call(this, i), t = 0; t < r.length; t++) n.off(r[t], a)
					}
					var t, r = ["webkitTransitionEnd", "transitionend"],
						n = this;
					if (e)
						for (t = 0; t < r.length; t++) n.on(r[t], a);
					return this
				},
				animationEnd: function(e) {
					function a(i) {
						for (e(i), t = 0; t < r.length; t++) n.off(r[t], a)
					}
					var t, r = ["webkitAnimationEnd", "animationend"],
						n = this;
					if (e)
						for (t = 0; t < r.length; t++) n.on(r[t], a);
					return this
				},
				width: function() {
					return this[0] === window ? window.innerWidth : this.length > 0 ? parseFloat(this.css("width")) : null
				},
				outerWidth: function(e) {
					if (this.length > 0) {
						if (e) {
							var a = this.styles();
							return this[0].offsetWidth + parseFloat(a.getPropertyValue("margin-right")) + parseFloat(a.getPropertyValue(
								"margin-left"))
						}
						return this[0].offsetWidth
					}
					return null
				},
				height: function() {
					return this[0] === window ? window.innerHeight : this.length > 0 ? parseFloat(this.css("height")) : null
				},
				outerHeight: function(e) {
					if (this.length > 0) {
						if (e) {
							var a = this.styles();
							return this[0].offsetHeight + parseFloat(a.getPropertyValue("margin-top")) + parseFloat(a.getPropertyValue(
								"margin-bottom"))
						}
						return this[0].offsetHeight
					}
					return null
				},
				offset: function() {
					if (this.length > 0) {
						var e = this[0],
							a = e.getBoundingClientRect(),
							t = document.body,
							r = e.clientTop || t.clientTop || 0,
							n = e.clientLeft || t.clientLeft || 0,
							i = e === window ? window.scrollY : e.scrollTop,
							s = e === window ? window.scrollX : e.scrollLeft;
						return {
							top: a.top + i - r,
							left: a.left + s - n
						}
					}
					return null
				},
				hide: function() {
					for (var e = 0; e < this.length; e++) this[e].style.display = "none";
					return this
				},
				show: function() {
					for (var e = 0; e < this.length; e++) this[e].style.display = "block";
					return this
				},
				styles: function() {
					if (this[0]) return window.getComputedStyle(this[0], null)
				},
				css: function(e, a) {
					var t;
					if (1 === arguments.length) {
						if ("string" != typeof e) {
							for (t = 0; t < this.length; t++)
								for (var r in e) this[t].style[r] = e[r];
							return this
						}
						if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(e)
					}
					if (2 === arguments.length && "string" == typeof e) {
						for (t = 0; t < this.length; t++) this[t].style[e] = a;
						return this
					}
					return this
				},
				each: function(e) {
					if (!e) return this;
					for (var a = 0; a < this.length; a++)
						if (!1 === e.call(this[a], a, this[a])) return this;
					return this
				},
				filter: function(a) {
					for (var t = [], r = this, n = 0; n < r.length; n++) a.call(r[n], n, r[n]) && t.push(r[n]);
					return new e(t)
				},
				html: function(e) {
					if (void 0 === e) return this[0] ? this[0].innerHTML : void 0;
					for (var a = 0; a < this.length; a++) this[a].innerHTML = e;
					return this
				},
				text: function(e) {
					if (void 0 === e) return this[0] ? this[0].textContent.trim() : null;
					for (var a = 0; a < this.length; a++) this[a].textContent = e;
					return this
				},
				is: function(t) {
					var r, n, i = this[0];
					if (!i || void 0 === t) return !1;
					if ("string" == typeof t) {
						if (i.matches) return i.matches(t);
						if (i.webkitMatchesSelector) return i.webkitMatchesSelector(t);
						if (i.msMatchesSelector) return i.msMatchesSelector(t);
						for (r = a(t), n = 0; n < r.length; n++)
							if (r[n] === i) return !0;
						return !1
					}
					if (t === document) return i === document;
					if (t === window) return i === window;
					if (t.nodeType || t instanceof e) {
						for (r = t.nodeType ? [t] : t, n = 0; n < r.length; n++)
							if (r[n] === i) return !0;
						return !1
					}
					return !1
				},
				indexOf: function(e) {
					for (var a = 0; a < this.length; a++)
						if (this[a] === e) return a
				},
				index: function() {
					var e, a = this[0];
					if (a) {
						for (e = 0; null !== (a = a.previousSibling);) 1 === a.nodeType && e++;
						return e
					}
				},
				eq: function(a) {
					if (void 0 === a) return this;
					var t, r = this.length;
					return a > r - 1 ? new e([]) : a < 0 ? (t = r + a, new e(t < 0 ? [] : [this[t]])) : new e([this[a]])
				},
				append: function() {
					var a, t, r, n;
					for (r = 0; r < arguments.length; r++)
						for (n = arguments[r], a = 0; a < this.length; a++)
							if ("string" == typeof n) {
								var i = document.createElement("div");
								for (i.innerHTML = n; i.firstChild;) this[a].appendChild(i.firstChild)
							} else if (n instanceof e)
						for (t = 0; t < n.length; t++) this[a].appendChild(n[t]);
					else this[a].appendChild(n);
					return this
				},
				appendTo: function(e) {
					return a(e).append(this), this
				},
				prepend: function(a) {
					var t, r;
					for (t = 0; t < this.length; t++)
						if ("string" == typeof a) {
							var n = document.createElement("div");
							for (n.innerHTML = a, r = n.childNodes.length - 1; r >= 0; r--) this[t].insertBefore(n.childNodes[r], this[t].childNodes[
								0])
						} else if (a instanceof e)
						for (r = 0; r < a.length; r++) this[t].insertBefore(a[r], this[t].childNodes[0]);
					else this[t].insertBefore(a, this[t].childNodes[0]);
					return this
				},
				prependTo: function(e) {
					return a(e).prepend(this), this
				},
				insertBefore: function(e) {
					for (var t = a(e), r = 0; r < this.length; r++)
						if (1 === t.length) t[0].parentNode.insertBefore(this[r], t[0]);
						else if (t.length > 1)
						for (var n = 0; n < t.length; n++) t[n].parentNode.insertBefore(this[r].cloneNode(!0), t[n])
				},
				insertAfter: function(e) {
					for (var t = a(e), r = 0; r < this.length; r++)
						if (1 === t.length) t[0].parentNode.insertBefore(this[r], t[0].nextSibling);
						else if (t.length > 1)
						for (var n = 0; n < t.length; n++) t[n].parentNode.insertBefore(this[r].cloneNode(!0), t[n].nextSibling)
				},
				next: function(t) {
					return new e(this.length > 0 ? t ? this[0].nextElementSibling && a(this[0].nextElementSibling).is(t) ? [this[0].nextElementSibling] :
						[] : this[0].nextElementSibling ? [this[0].nextElementSibling] : [] : [])
				},
				nextAll: function(t) {
					var r = [],
						n = this[0];
					if (!n) return new e([]);
					for (; n.nextElementSibling;) {
						var i = n.nextElementSibling;
						t ? a(i).is(t) && r.push(i) : r.push(i), n = i
					}
					return new e(r)
				},
				prev: function(t) {
					if (this.length > 0) {
						var r = this[0];
						return new e(t ? r.previousElementSibling && a(r.previousElementSibling).is(t) ? [r.previousElementSibling] : [] :
							r.previousElementSibling ? [r.previousElementSibling] : [])
					}
					return new e([])
				},
				prevAll: function(t) {
					var r = [],
						n = this[0];
					if (!n) return new e([]);
					for (; n.previousElementSibling;) {
						var i = n.previousElementSibling;
						t ? a(i).is(t) && r.push(i) : r.push(i), n = i
					}
					return new e(r)
				},
				siblings: function(e) {
					return this.nextAll(e).add(this.prevAll(e))
				},
				parent: function(e) {
					for (var t = [], r = 0; r < this.length; r++) null !== this[r].parentNode && (e ? a(this[r].parentNode).is(e) &&
						t.push(this[r].parentNode) : t.push(this[r].parentNode));
					return a(a.unique(t))
				},
				parents: function(e) {
					for (var t = [], r = 0; r < this.length; r++)
						for (var n = this[r].parentNode; n;) e ? a(n).is(e) && t.push(n) : t.push(n), n = n.parentNode;
					return a(a.unique(t))
				},
				closest: function(a) {
					var t = this;
					return void 0 === a ? new e([]) : (t.is(a) || (t = t.parents(a).eq(0)), t)
				},
				find: function(a) {
					for (var t = [], r = 0; r < this.length; r++)
						for (var n = this[r].querySelectorAll(a), i = 0; i < n.length; i++) t.push(n[i]);
					return new e(t)
				},
				children: function(t) {
					for (var r = [], n = 0; n < this.length; n++)
						for (var i = this[n].childNodes, s = 0; s < i.length; s++) t ? 1 === i[s].nodeType && a(i[s]).is(t) && r.push(i[
							s]) : 1 === i[s].nodeType && r.push(i[s]);
					return new e(a.unique(r))
				},
				remove: function() {
					for (var e = 0; e < this.length; e++) this[e].parentNode && this[e].parentNode.removeChild(this[e]);
					return this
				},
				detach: function() {
					return this.remove()
				},
				add: function() {
					var e, t, r = this;
					for (e = 0; e < arguments.length; e++) {
						var n = a(arguments[e]);
						for (t = 0; t < n.length; t++) r[r.length] = n[t], r.length++
					}
					return r
				},
				empty: function() {
					for (var e = 0; e < this.length; e++) {
						var a = this[e];
						if (1 === a.nodeType) {
							for (var t = 0; t < a.childNodes.length; t++) a.childNodes[t].parentNode && a.childNodes[t].parentNode.removeChild(
								a.childNodes[t]);
							a.textContent = ""
						}
					}
					return this
				}
			},
			function() {
				for (var t =
						"click blur focus focusin focusout keyup keydown keypress submit change mousedown mousemove mouseup mouseenter mouseleave mouseout mouseover touchstart touchend touchmove resize scroll"
						.split(" "), r = "resize scroll".split(" "), n = 0; n < t.length; n++) ! function(t) {
					e.prototype[t] = function(e, n, i) {
						var s;
						if (void 0 === e) {
							for (s = 0; s < this.length; s++) r.indexOf(t) < 0 && (t in this[s] ? this[s][t]() : a(this[s]).trigger(t));
							return this
						}
						return this.on(t, e, n, i)
					}
				}(t[n])
			}(), a.parseUrlQuery = function(e) {
				e = e || location.href;
				var a, t, r, n, i = {};
				if ("string" == typeof e && e.length)
					for (e = e.indexOf("?") > -1 ? e.replace(/\S*\?/, "") : "", t = e.split("&"), n = t.length, a = 0; a < n; a++) r =
						t[a].replace(/#\S+/g, "").split("="), i[decodeURIComponent(r[0])] = decodeURIComponent(r[1]) || "";
				return i
			}, a.isArray = function(e) {
				return Array.isArray(e)
			}, a.each = function(a, t) {
				if ("object" == typeof a && t)
					if (Array.isArray(a) || a instanceof e) {
						var r;
						for (r = 0; r < a.length; r++)
							if (!1 === t(r, a[r])) return
					} else {
						var n;
						for (n in a)
							if (a.hasOwnProperty(n) && !1 === t(n, a[n])) return
					}
			}, a.unique = function(e) {
				for (var a = [], t = 0; t < e.length; t++) - 1 === a.indexOf(e[t]) && a.push(e[t]);
				return a
			}, a.serializeObject = a.param = function(e, t) {
				function r(e) {
					if (t.length > 0) {
						for (var a = "", r = 0; r < t.length; r++) a += 0 === r ? t[r] : "[" + encodeURIComponent(t[r]) + "]";
						return a + "[" + encodeURIComponent(e) + "]"
					}
					return encodeURIComponent(e)
				}

				function n(e) {
					return encodeURIComponent(e)
				}
				if ("string" == typeof e) return e;
				var i = [];
				t = t || [];
				var s;
				for (var o in e)
					if (e.hasOwnProperty(o)) {
						var l;
						if (Array.isArray(e[o])) {
							l = [];
							for (var p = 0; p < e[o].length; p++) Array.isArray(e[o][p]) || "object" != typeof e[o][p] ? l.push(r(o) +
								"[]=" + n(e[o][p])) : (s = t.slice(), s.push(o), s.push(p + ""), l.push(a.serializeObject(e[o][p], s)));
							l.length > 0 && i.push(l.join("&"))
						} else null === e[o] ? i.push(r(o) + "=") : "object" == typeof e[o] ? (s = t.slice(), s.push(o), "" !== (l = a.serializeObject(
							e[o], s)) && i.push(l)) : void 0 !== e[o] && "" !== e[o] ? i.push(r(o) + "=" + n(e[o])) : "" === e[o] && i.push(
							r(o))
					} return i.join("&")
			}, a.toCamelCase = function(e) {
				return e.toLowerCase().replace(/-(.)/g, function(e, a) {
					return a.toUpperCase()
				})
			}, a.dataset = function(e) {
				return a(e).dataset()
			}, a.getTranslate = function(e, a) {
				var t, r, n, i;
				return void 0 === a && (a = "x"), n = window.getComputedStyle(e, null), window.WebKitCSSMatrix ? (r = n.transform ||
					n.webkitTransform, r.split(",").length > 6 && (r = r.split(", ").map(function(e) {
						return e.replace(",", ".")
					}).join(", ")), i = new WebKitCSSMatrix("none" === r ? "" : r)) : (i = n.transform || n.getPropertyValue(
					"transform").replace("translate(", "matrix(1, 0, 0, 1,"), t = i.toString().split(",")), "x" === a && (r = window
					.WebKitCSSMatrix ? i.m41 : 16 === t.length ? parseFloat(t[12]) : parseFloat(t[4])), "y" === a && (r = window.WebKitCSSMatrix ?
					i.m42 : 16 === t.length ? parseFloat(t[13]) : parseFloat(t[5])), r || 0
			}, a.requestAnimationFrame = function(e) {
				return window.requestAnimationFrame ? window.requestAnimationFrame(e) : window.webkitRequestAnimationFrame ?
					window.webkitRequestAnimationFrame(e) : window.setTimeout(e, 1e3 / 60)
			}, a.cancelAnimationFrame = function(e) {
				return window.cancelAnimationFrame ? window.cancelAnimationFrame(e) : window.webkitCancelAnimationFrame ? window.webkitCancelAnimationFrame(
					e) : window.clearTimeout(e)
			}, a.supportTouch = !!("ontouchstart" in window && null != window.ontouchstart || window.DocumentTouch && document instanceof DocumentTouch);
		for (var t = [{
				base: "A",
				letters: "AⒶＡÀÁÂẦẤẪẨÃĀĂẰẮẴẲȦǠÄǞẢÅǺǍȀȂẠẬẶḀĄȺⱯ"
			}, {
				base: "AA",
				letters: "Ꜳ"
			}, {
				base: "AE",
				letters: "ÆǼǢ"
			}, {
				base: "AO",
				letters: "Ꜵ"
			}, {
				base: "AU",
				letters: "Ꜷ"
			}, {
				base: "AV",
				letters: "ꜸꜺ"
			}, {
				base: "AY",
				letters: "Ꜽ"
			}, {
				base: "B",
				letters: "BⒷＢḂḄḆɃƂƁ"
			}, {
				base: "C",
				letters: "CⒸＣĆĈĊČÇḈƇȻꜾ"
			}, {
				base: "D",
				letters: "DⒹＤḊĎḌḐḒḎĐƋƊƉꝹ"
			}, {
				base: "DZ",
				letters: "ǱǄ"
			}, {
				base: "Dz",
				letters: "ǲǅ"
			}, {
				base: "E",
				letters: "EⒺＥÈÉÊỀẾỄỂẼĒḔḖĔĖËẺĚȄȆẸỆȨḜĘḘḚƐƎ"
			}, {
				base: "F",
				letters: "FⒻＦḞƑꝻ"
			}, {
				base: "G",
				letters: "GⒼＧǴĜḠĞĠǦĢǤƓꞠꝽꝾ"
			}, {
				base: "H",
				letters: "HⒽＨĤḢḦȞḤḨḪĦⱧⱵꞍ"
			}, {
				base: "I",
				letters: "IⒾＩÌÍÎĨĪĬİÏḮỈǏȈȊỊĮḬƗ"
			}, {
				base: "J",
				letters: "JⒿＪĴɈ"
			}, {
				base: "K",
				letters: "KⓀＫḰǨḲĶḴƘⱩꝀꝂꝄꞢ"
			}, {
				base: "L",
				letters: "LⓁＬĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ"
			}, {
				base: "LJ",
				letters: "Ǉ"
			}, {
				base: "Lj",
				letters: "ǈ"
			}, {
				base: "M",
				letters: "MⓂＭḾṀṂⱮƜ"
			}, {
				base: "N",
				letters: "NⓃＮǸŃÑṄŇṆŅṊṈȠƝꞐꞤ"
			}, {
				base: "NJ",
				letters: "Ǌ"
			}, {
				base: "Nj",
				letters: "ǋ"
			}, {
				base: "O",
				letters: "OⓄＯÒÓÔỒỐỖỔÕṌȬṎŌṐṒŎȮȰÖȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬØǾƆƟꝊꝌ"
			}, {
				base: "OI",
				letters: "Ƣ"
			}, {
				base: "OO",
				letters: "Ꝏ"
			}, {
				base: "OU",
				letters: "Ȣ"
			}, {
				base: "OE",
				letters: "Œ"
			}, {
				base: "oe",
				letters: "œ"
			}, {
				base: "P",
				letters: "PⓅＰṔṖƤⱣꝐꝒꝔ"
			}, {
				base: "Q",
				letters: "QⓆＱꝖꝘɊ"
			}, {
				base: "R",
				letters: "RⓇＲŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ"
			}, {
				base: "S",
				letters: "SⓈＳẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ"
			}, {
				base: "T",
				letters: "TⓉＴṪŤṬȚŢṰṮŦƬƮȾꞆ"
			}, {
				base: "TZ",
				letters: "Ꜩ"
			}, {
				base: "U",
				letters: "UⓊＵÙÚÛŨṸŪṺŬÜǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ"
			}, {
				base: "V",
				letters: "VⓋＶṼṾƲꝞɅ"
			}, {
				base: "VY",
				letters: "Ꝡ"
			}, {
				base: "W",
				letters: "WⓌＷẀẂŴẆẄẈⱲ"
			}, {
				base: "X",
				letters: "XⓍＸẊẌ"
			}, {
				base: "Y",
				letters: "YⓎＹỲÝŶỸȲẎŸỶỴƳɎỾ"
			}, {
				base: "Z",
				letters: "ZⓏＺŹẐŻŽẒẔƵȤⱿⱫꝢ"
			}, {
				base: "a",
				letters: "aⓐａẚàáâầấẫẩãāăằắẵẳȧǡäǟảåǻǎȁȃạậặḁąⱥɐ"
			}, {
				base: "aa",
				letters: "ꜳ"
			}, {
				base: "ae",
				letters: "æǽǣ"
			}, {
				base: "ao",
				letters: "ꜵ"
			}, {
				base: "au",
				letters: "ꜷ"
			}, {
				base: "av",
				letters: "ꜹꜻ"
			}, {
				base: "ay",
				letters: "ꜽ"
			}, {
				base: "b",
				letters: "bⓑｂḃḅḇƀƃɓ"
			}, {
				base: "c",
				letters: "cⓒｃćĉċčçḉƈȼꜿↄ"
			}, {
				base: "d",
				letters: "dⓓｄḋďḍḑḓḏđƌɖɗꝺ"
			}, {
				base: "dz",
				letters: "ǳǆ"
			}, {
				base: "e",
				letters: "eⓔｅèéêềếễểẽēḕḗĕėëẻěȅȇẹệȩḝęḙḛɇɛǝ"
			}, {
				base: "f",
				letters: "fⓕｆḟƒꝼ"
			}, {
				base: "g",
				letters: "gⓖｇǵĝḡğġǧģǥɠꞡᵹꝿ"
			}, {
				base: "h",
				letters: "hⓗｈĥḣḧȟḥḩḫẖħⱨⱶɥ"
			}, {
				base: "hv",
				letters: "ƕ"
			}, {
				base: "i",
				letters: "iⓘｉìíîĩīĭïḯỉǐȉȋịįḭɨı"
			}, {
				base: "j",
				letters: "jⓙｊĵǰɉ"
			}, {
				base: "k",
				letters: "kⓚｋḱǩḳķḵƙⱪꝁꝃꝅꞣ"
			}, {
				base: "l",
				letters: "lⓛｌŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ"
			}, {
				base: "lj",
				letters: "ǉ"
			}, {
				base: "m",
				letters: "mⓜｍḿṁṃɱɯ"
			}, {
				base: "n",
				letters: "nⓝｎǹńñṅňṇņṋṉƞɲŉꞑꞥ"
			}, {
				base: "nj",
				letters: "ǌ"
			}, {
				base: "o",
				letters: "oⓞｏòóôồốỗổõṍȭṏōṑṓŏȯȱöȫỏőǒȍȏơờớỡởợọộǫǭøǿɔꝋꝍɵ"
			}, {
				base: "oi",
				letters: "ƣ"
			}, {
				base: "ou",
				letters: "ȣ"
			}, {
				base: "oo",
				letters: "ꝏ"
			}, {
				base: "p",
				letters: "pⓟｐṕṗƥᵽꝑꝓꝕ"
			}, {
				base: "q",
				letters: "qⓠｑɋꝗꝙ"
			}, {
				base: "r",
				letters: "rⓡｒŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ"
			}, {
				base: "s",
				letters: "sⓢｓßśṥŝṡšṧṣṩșşȿꞩꞅẛ"
			}, {
				base: "t",
				letters: "tⓣｔṫẗťṭțţṱṯŧƭʈⱦꞇ"
			}, {
				base: "tz",
				letters: "ꜩ"
			}, {
				base: "u",
				letters: "uⓤｕùúûũṹūṻŭüǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ"
			}, {
				base: "v",
				letters: "vⓥｖṽṿʋꝟʌ"
			}, {
				base: "vy",
				letters: "ꝡ"
			}, {
				base: "w",
				letters: "wⓦｗẁẃŵẇẅẘẉⱳ"
			}, {
				base: "x",
				letters: "xⓧｘẋẍ"
			}, {
				base: "y",
				letters: "yⓨｙỳýŷỹȳẏÿỷẙỵƴɏỿ"
			}, {
				base: "z",
				letters: "zⓩｚźẑżžẓẕƶȥɀⱬꝣ"
			}], r = {}, n = 0; n < t.length; n++)
			for (var i = t[n].letters, s = 0; s < i.length; s++) r[i[s]] = t[n].base;
		a.removeDiacritics = function(e) {
			return e.replace(/[^\u0000-\u007E]/g, function(e) {
				return r[e] || e
			})
		}, a.fn = e.prototype, a.fn.scrollTo = function(e, t, r, n, i) {
			return 4 === arguments.length && "function" == typeof n && (i = n, n = void 0), this.each(function() {
				function s(e) {
					void 0 === e && (e = (new Date).getTime()), null === b && (b = e);
					var t, p = Math.max(Math.min((e - b) / r, 1), 0),
						d = "linear" === n ? p : .5 - Math.cos(p * Math.PI) / 2;
					if (g && (m = o + d * (c - o)), v && (f = l + d * (u - l)), g && c > o && m >= c && (h.scrollTop = c, t = !0),
						g && c < o && m <= c && (h.scrollTop = c, t = !0), v && u > l && f >= u && (h.scrollLeft = u, t = !0), v && u <
						l && f <= u && (h.scrollLeft = u, t = !0), t) return void(i && i());
					g && (h.scrollTop = m), v && (h.scrollLeft = f), a.requestAnimationFrame(s)
				}
				var o, l, p, d, c, u, m, f, h = this,
					g = t > 0 || 0 === t,
					v = e > 0 || 0 === e;
				if (void 0 === n && (n = "swing"), g && (o = h.scrollTop, r || (h.scrollTop = t)), v && (l = h.scrollLeft, r ||
						(h.scrollLeft = e)), r) {
					g && (p = h.scrollHeight - h.offsetHeight, c = Math.max(Math.min(t, p), 0)), v && (d = h.scrollWidth - h.offsetWidth,
						u = Math.max(Math.min(e, d), 0));
					var b = null;
					g && c === o && (g = !1), v && u === l && (v = !1), a.requestAnimationFrame(s)
				}
			})
		}, a.fn.scrollTop = function(e, a, t, r) {
			3 === arguments.length && "function" == typeof t && (r = t, t = void 0);
			var n = this;
			return void 0 === e ? n.length > 0 ? n[0].scrollTop : null : n.scrollTo(void 0, e, a, t, r)
		}, a.fn.scrollLeft = function(e, a, t, r) {
			3 === arguments.length && "function" == typeof t && (r = t, t = void 0);
			var n = this;
			return void 0 === e ? n.length > 0 ? n[0].scrollLeft : null : n.scrollTo(e, void 0, a, t, r)
		};
		var o = {};
		a.ajaxSetup = function(e) {
			e.type && (e.method = e.type), a.each(e, function(e, a) {
				o[e] = a
			})
		};
		var l = 0;
		return a.ajax = function(e) {
				function t(t, r, n) {
					var i = arguments;
					t && a(document).trigger(t, r), n && (n in o && o[n](i[3], i[4], i[5], i[6]), e[n] && e[n](i[3], i[4], i[5], i[6]))
				}
				var r = {
						method: "GET",
						data: !1,
						async: !0,
						cache: !0,
						user: "",
						password: "",
						headers: {},
						xhrFields: {},
						statusCode: {},
						processData: !0,
						dataType: "text",
						contentType: "application/x-www-form-urlencoded",
						timeout: 0
					},
					n = ["beforeSend", "error", "complete", "success", "statusCode"];
				e.type && (e.method = e.type), a.each(o, function(e, a) {
					n.indexOf(e) < 0 && (r[e] = a)
				}), a.each(r, function(a, t) {
					a in e || (e[a] = t)
				}), e.url || (e.url = window.location.toString());
				var i = e.url.indexOf("?") >= 0 ? "&" : "?",
					s = e.method.toUpperCase();
				if (("GET" === s || "HEAD" === s || "OPTIONS" === s || "DELETE" === s) && e.data) {
					var p;
					p = "string" == typeof e.data ? e.data.indexOf("?") >= 0 ? e.data.split("?")[1] : e.data : a.serializeObject(e.data),
						p.length && (e.url += i + p, "?" === i && (i = "&"))
				}
				if ("json" === e.dataType && e.url.indexOf("callback=") >= 0) {
					var d, c = "f7jsonp_" + Date.now() + l++,
						u = e.url.split("callback="),
						m = u[0] + "callback=" + c;
					if (u[1].indexOf("&") >= 0) {
						var f = u[1].split("&").filter(function(e) {
							return e.indexOf("=") > 0
						}).join("&");
						f.length > 0 && (m += "&" + f)
					}
					var h = document.createElement("script");
					return h.type = "text/javascript", h.onerror = function() {
						clearTimeout(d), t(void 0, void 0, "error", null, "scripterror"), t("ajaxComplete ajax:complete", {
							scripterror: !0
						}, "complete", null, "scripterror")
					}, h.src = m, window[c] = function(e) {
						clearTimeout(d), t(void 0, void 0, "success", e), h.parentNode.removeChild(h), h = null, delete window[c]
					}, document.querySelector("head").appendChild(h), void(e.timeout > 0 && (d = setTimeout(function() {
						h.parentNode.removeChild(h), h = null, t(void 0, void 0, "error", null, "timeout")
					}, e.timeout)))
				}
				"GET" !== s && "HEAD" !== s && "OPTIONS" !== s && "DELETE" !== s || !1 === e.cache && (e.url += i + "_nocache=" +
					Date.now());
				var g = new XMLHttpRequest;
				g.requestUrl = e.url, g.requestParameters = e, g.open(s, e.url, e.async, e.user, e.password);
				var v = null;
				if (("POST" === s || "PUT" === s || "PATCH" === s) && e.data)
					if (e.processData) {
						var b = [ArrayBuffer, Blob, Document, FormData];
						if (b.indexOf(e.data.constructor) >= 0) v = e.data;
						else {
							var w = "---------------------------" + Date.now().toString(16);
							"multipart/form-data" === e.contentType ? g.setRequestHeader("Content-Type", "multipart/form-data; boundary=" +
								w) : g.setRequestHeader("Content-Type", e.contentType), v = "";
							var C = a.serializeObject(e.data);
							if ("multipart/form-data" === e.contentType) {
								w = "---------------------------" + Date.now().toString(16), C = C.split("&");
								for (var y = [], x = 0; x < C.length; x++) y.push('Content-Disposition: form-data; name="' + C[x].split("=")[0] +
									'"\r\n\r\n' + C[x].split("=")[1] + "\r\n");
								v = "--" + w + "\r\n" + y.join("--" + w + "\r\n") + "--" + w + "--\r\n"
							} else v = C
						}
					} else v = e.data;
				e.headers && a.each(e.headers, function(e, a) {
					g.setRequestHeader(e, a)
				}), void 0 === e.crossDomain && (e.crossDomain = /^([\w-]+:)?\/\/([^\/]+)/.test(e.url) && RegExp.$2 !== window.location
					.host), e.crossDomain || g.setRequestHeader("X-Requested-With", "XMLHttpRequest"), e.xhrFields && a.each(e.xhrFields,
					function(e, a) {
						g[e] = a
					});
				var T;
				return g.onload = function(a) {
					if (T && clearTimeout(T), g.status >= 200 && g.status < 300 || 0 === g.status) {
						var r;
						if ("json" === e.dataType) try {
							r = JSON.parse(g.responseText), t("ajaxSuccess ajax:success", {
								xhr: g
							}, "success", r, g.status, g)
						} catch (e) {
							t("ajaxError ajax:error", {
								xhr: g,
								parseerror: !0
							}, "error", g, "parseerror")
						} else r = "text" === g.responseType || "" === g.responseType ? g.responseText : g.response, t(
							"ajaxSuccess ajax:success", {
								xhr: g
							}, "success", r, g.status, g)
					} else t("ajaxError ajax:error", {
						xhr: g
					}, "error", g, g.status);
					e.statusCode && (o.statusCode && o.statusCode[g.status] && o.statusCode[g.status](g), e.statusCode[g.status] &&
						e.statusCode[g.status](g)), t("ajaxComplete ajax:complete", {
						xhr: g
					}, "complete", g, g.status)
				}, g.onerror = function(e) {
					T && clearTimeout(T), t("ajaxError ajax:error", {
						xhr: g
					}, "error", g, g.status), t("ajaxComplete ajax:complete", {
						xhr: g,
						error: !0
					}, "complete", g, "error")
				}, t("ajaxStart ajax:start", {
					xhr: g
				}, "start", g), t(void 0, void 0, "beforeSend", g), e.timeout > 0 && (g.onabort = function() {
					T && clearTimeout(T)
				}, T = setTimeout(function() {
					g.abort(), t("ajaxError ajax:error", {
						xhr: g,
						timeout: !0
					}, "error", g, "timeout"), t("ajaxComplete ajax:complete", {
						xhr: g,
						timeout: !0
					}, "complete", g, "timeout")
				}, e.timeout)), g.send(v), g
			},
			function() {
				for (var e = "get post getJSON".split(" "), t = 0; t < e.length; t++) ! function(e) {
					a[e] = function(t, r, n, i) {
						return a.ajax({
							url: t,
							method: "post" === e ? "POST" : "GET",
							data: "function" == typeof r ? void 0 : r,
							success: "function" == typeof r ? r : n,
							error: "function" == typeof r ? n : i,
							dataType: "getJSON" === e ? "json" : void 0
						})
					}
				}(e[t])
			}(), a
	}();
	Framework7.$ = e;
	var a = e;
	window.Dom7 = e;
	var t = function(e, t, r) {
		t = t || {}, r = r || {};
		var n = {
			duration: 300,
			easing: "swing"
		};
		for (var i in n) void 0 === r[i] && (r[i] = n[i]);
		var s = this;
		if (s.params = r, s.props = t, s.elements = a(e), 0 === s.elements.length) return s;
		s.easingProgress = function(e, a) {
			return "swing" === e ? .5 - Math.cos(a * Math.PI) / 2 : "function" == typeof e ? e(a) : a
		}, s.stop = function() {
			s.frameId && a.cancelAnimationFrame(s.frameId), s.animating = !1, s.elements.each(function(e, a) {
				delete a.animate7Instance
			}), s.que = []
		}, s.done = function(a) {
			if (s.animating = !1, s.elements.each(function(e, a) {
					delete a.animate7Instance
				}), a && a(e), s.que.length > 0) {
				var t = s.que.shift();
				s.animate(t[0], t[1])
			}
		}, s.animating = !1, s.que = [], s.animate = function(t, r) {
			function n() {
				o = (new Date).getTime();
				var m, f, h;
				u || (u = !0, r.begin && r.begin(e)), null === p && (p = o), r.progress && r.progress(s.elements, Math.max(Math.min(
					(o - p) / r.duration, 1), 0), p + r.duration - o < 0 ? 0 : p + r.duration - o, p);
				for (var g = 0; g < i.length; g++)
					if (!l && (h = i[g], !h.done))
						for (var v in t) {
							if (m = Math.max(Math.min((o - p) / r.duration, 1), 0), f = s.easingProgress(r.easing, m), h[v].currentValue =
								h[v].initialValue + f * (h[v].finalValue - h[v].initialValue), (h[v].finalValue > h[v].initialValue && h[v].currentValue >=
									h[v].finalValue || h[v].finalValue < h[v].initialValue && h[v].currentValue <= h[v].finalValue) && (h._container
									.style[v] = h[v].finalValue + h[v].unit, c++, c === Object.keys(t).length && (h.done = !0, d++), d === i.length &&
									(l = !0)), l) return s.done(r.complete), s;
							h._container.style[v] = h[v].currentValue + h[v].unit
						}
				s.frameId = a.requestAnimationFrame(n)
			}
			if (s.animating) return s.que.push([t, r]), s;
			s.params = r;
			var i = [];
			s.elements.each(function(e, a) {
				var r, n, s, o, l;
				i[e] = {
					_container: a
				};
				for (var p in t) r = window.getComputedStyle(a, null).getPropertyValue(p).replace(",", "."), n = parseFloat(r),
					s = r.replace(n, ""), o = t[p], l = t[p] + s, i[e][p] = {
						initialFullValue: r,
						initialValue: n,
						unit: s,
						finalValue: o,
						finalFullValue: l,
						currentValue: n
					}
			});
			var o, l, p = null,
				d = 0,
				c = 0,
				u = !1;
			return s.animating = !0, s.frameId = a.requestAnimationFrame(n), s
		};
		for (var o, l = 0; l < s.elements.length; l++) s.elements[l].animate7Instance ? o = s.elements[l].animate7Instance :
			s.elements[l].animate7Instance = s;
		return o ? o.animate(t, r) : (s.animate(t, r), s)
	};
	window.Animate7 = function(e, a, r) {
		return new t(e, a, r)
	}, e.fn.animate = function(e, a) {
		return new t(this, e, a), this
	}, Framework7.prototype.support = function() {
		return {
			touch: !!("ontouchstart" in window || window.DocumentTouch && document instanceof DocumentTouch),
			passiveListener: function() {
				var e = !1;
				try {
					var a = Object.defineProperty({}, "passive", {
						get: function() {
							e = !0
						}
					});
					window.addEventListener("testPassiveListener", null, a)
				} catch (e) {}
				return e
			}()
		}
	}(), Framework7.prototype.device = function() {
		var a = {},
			t = navigator.userAgent,
			r = e,
			n = t.match(/(Windows Phone);?[\s\/]+([\d.]+)?/),
			i = t.match(/(Android);?[\s\/]+([\d.]+)?/),
			s = t.match(/(iPad).*OS\s([\d_]+)/),
			o = t.match(/(iPod)(.*OS\s([\d_]+))?/),
			l = !s && t.match(/(iPhone\sOS|iOS)\s([\d_]+)/);
		if (a.ios = a.android = a.windows = a.iphone = a.ipod = a.ipad = a.androidChrome = !1, n && (a.os = "windows", a.osVersion =
				n[2], a.windows = !0), i && !n && (a.os = "android", a.osVersion = i[2], a.android = !0, a.androidChrome = t.toLowerCase()
				.indexOf("chrome") >= 0), (s || l || o) && (a.os = "ios", a.ios = !0), l && !o && (a.osVersion = l[2].replace(/_/g,
				"."), a.iphone = !0), s && (a.osVersion = s[2].replace(/_/g, "."), a.ipad = !0), o && (a.osVersion = o[3] ? o[3].replace(
				/_/g, ".") : null, a.iphone = !0), a.ios && a.osVersion && t.indexOf("Version/") >= 0 && "10" === a.osVersion.split(
				".")[0] && (a.osVersion = t.toLowerCase().split("version/")[1].split(" ")[0]), a.webView = (l || s || o) && t.match(
				/.*AppleWebKit(?!.*Safari)/i), a.os && "ios" === a.os) {
			var p = a.osVersion.split(".");
			a.minimalUi = !a.webView && (o || l) && (1 * p[0] == 7 ? 1 * p[1] >= 1 : 1 * p[0] > 7) && r('meta[name="viewport"]')
				.length > 0 && r('meta[name="viewport"]').attr("content").indexOf("minimal-ui") >= 0
		}
		var d = r(window).width(),
			c = r(window).height();
		a.needsStatusBar = function() {
			return !(!a.webView || d * c != screen.width * screen.height)
		}, a.statusBar = a.needsStatusBar();
		var u = [];
		if (a.pixelRatio = window.devicePixelRatio || 1, u.push("pixel-ratio-" + Math.floor(a.pixelRatio)), a.pixelRatio >=
			2 && u.push("retina"), a.os && (u.push(a.os, a.os + "-" + a.osVersion.split(".")[0], a.os + "-" + a.osVersion.replace(
				/\./g, "-")), "ios" === a.os))
			for (var m = parseInt(a.osVersion.split(".")[0], 10), f = m - 1; f >= 6; f--) u.push("ios-gt-" + f);
		return a.statusBar ? u.push("with-statusbar-overlay") : r("html").removeClass("with-statusbar-overlay"), u.length >
			0 && r("html").addClass(u.join(" ")), a
	}(), Framework7.prototype.plugins = {}, window.Template7 = function() {
		function e(e) {
			return "[object Array]" === Object.prototype.toString.apply(e)
		}

		function a(e) {
			return "function" == typeof e
		}

		function t(e) {
			return "undefined" != typeof window && window.escape ? window.escape(e) : e.replace(/&/g, "&amp;").replace(/</g,
				"&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;")
		}

		function r(e) {
			var a, t, r, n = e.replace(/[{}#}]/g, "").split(" "),
				o = [];
			for (t = 0; t < n.length; t++) {
				var l, p, d = n[t];
				if (0 === t) o.push(d);
				else if (0 === d.indexOf('"') || 0 === d.indexOf("'"))
					if (l = 0 === d.indexOf('"') ? s : i, p = 0 === d.indexOf('"') ? '"' : "'", 2 === d.match(l).length) o.push(d);
					else {
						for (a = 0, r = t + 1; r < n.length; r++)
							if (d += " " + n[r], n[r].indexOf(p) >= 0) {
								a = r, o.push(d);
								break
							} a && (t = a)
					}
				else if (d.indexOf("=") > 0) {
					var c = d.split("="),
						u = c[0],
						m = c[1];
					if (l || (l = 0 === m.indexOf('"') ? s : i, p = 0 === m.indexOf('"') ? '"' : "'"), 2 !== m.match(l).length) {
						for (a = 0, r = t + 1; r < n.length; r++)
							if (m += " " + n[r], n[r].indexOf(p) >= 0) {
								a = r;
								break
							} a && (t = a)
					}
					var f = [u, m.replace(l, "")];
					o.push(f)
				} else o.push(d)
			}
			return o
		}

		function n(a) {
			var t, n, i = [];
			if (!a) return [];
			var s = a.split(/({{[^{^}]*}})/);
			for (t = 0; t < s.length; t++) {
				var o = s[t];
				if ("" !== o)
					if (o.indexOf("{{") < 0) i.push({
						type: "plain",
						content: o
					});
					else {
						if (o.indexOf("{/") >= 0) continue;
						if (o.indexOf("{#") < 0 && o.indexOf(" ") < 0 && o.indexOf("else") < 0) {
							i.push({
								type: "variable",
								contextName: o.replace(/[{}]/g, "")
							});
							continue
						}
						var l = r(o),
							p = l[0],
							d = ">" === p,
							c = [],
							u = {};
						for (n = 1; n < l.length; n++) {
							var m = l[n];
							e(m) ? u[m[0]] = "false" !== m[1] && m[1] : c.push(m)
						}
						if (o.indexOf("{#") >= 0) {
							var f, h = "",
								g = "",
								v = 0,
								b = !1,
								w = !1,
								C = 0;
							for (n = t + 1; n < s.length; n++)
								if (s[n].indexOf("{{#") >= 0 && C++, s[n].indexOf("{{/") >= 0 && C--, s[n].indexOf("{{#" + p) >= 0) h += s[n],
									w && (g += s[n]), v++;
								else if (s[n].indexOf("{{/" + p) >= 0) {
								if (!(v > 0)) {
									f = n, b = !0;
									break
								}
								v--, h += s[n], w && (g += s[n])
							} else s[n].indexOf("else") >= 0 && 0 === C ? w = !0 : (w || (h += s[n]), w && (g += s[n]));
							b && (f && (t = f), i.push({
								type: "helper",
								helperName: p,
								contextName: c,
								content: h,
								inverseContent: g,
								hash: u
							}))
						} else o.indexOf(" ") > 0 && (d && (p = "_partial", c[0] && (c[0] = '"' + c[0].replace(/"|'/g, "") + '"')), i.push({
							type: "helper",
							helperName: p,
							contextName: c,
							hash: u
						}))
					}
			}
			return i
		}
		var i = new RegExp("'", "g"),
			s = new RegExp('"', "g"),
			o = function(e, a) {
				function t(e, a) {
					return e.content ? o(e.content, a) : function() {
						return ""
					}
				}

				function r(e, a) {
					return e.inverseContent ? o(e.inverseContent, a) : function() {
						return ""
					}
				}

				function i(e, a) {
					var t, r, n = 0;
					if (0 === e.indexOf("../")) {
						n = e.split("../").length - 1;
						var i = a.split("_")[1] - n;
						a = "ctx_" + (i >= 1 ? i : 1), r = e.split("../")[n].split(".")
					} else 0 === e.indexOf("@global") ? (a = "Template7.global", r = e.split("@global.")[1].split(".")) : 0 === e.indexOf(
						"@root") ? (a = "root", r = e.split("@root.")[1].split(".")) : r = e.split(".");
					t = a;
					for (var s = 0; s < r.length; s++) {
						var o = r[s];
						0 === o.indexOf("@") ? s > 0 ? t += "[(data && data." + o.replace("@", "") + ")]" : t = "(data && data." + e.replace(
							"@", "") + ")" : isFinite(o) ? t += "[" + o + "]" : "this" === o || o.indexOf("this.") >= 0 || o.indexOf(
							"this[") >= 0 || o.indexOf("this(") >= 0 ? t = o.replace("this", a) : t += "." + o
					}
					return t
				}

				function s(e, a) {
					for (var t = [], r = 0; r < e.length; r++) /^['"]/.test(e[r]) ? t.push(e[r]) : /^(true|false|\d+)$/.test(e[r]) ?
						t.push(e[r]) : t.push(i(e[r], a));
					return t.join(", ")
				}

				function o(e, a) {
					if (a = a || 1, "string" != typeof(e = e || l.template)) throw new Error("Template7: Template must be a string");
					var o = n(e);
					if (0 === o.length) return function() {
						return ""
					};
					var p = "ctx_" + a,
						d = "";
					d += 1 === a ? "(function (" + p + ", data, root) {\n" : "(function (" + p + ", data) {\n", 1 === a && (d +=
						"function isArray(arr){return Object.prototype.toString.apply(arr) === '[object Array]';}\n", d +=
						"function isFunction(func){return (typeof func === 'function');}\n", d +=
						'function c(val, ctx) {if (typeof val !== "undefined" && val !== null) {if (isFunction(val)) {return val.call(ctx);} else return val;} else return "";}\n',
						d += "root = root || ctx_1 || {};\n"), d += "var r = '';\n";
					var c;
					for (c = 0; c < o.length; c++) {
						var u = o[c];
						if ("plain" !== u.type) {
							var m, f;
							if ("variable" === u.type && (m = i(u.contextName, p), d += "r += c(" + m + ", " + p + ");"), "helper" === u.type)
								if (u.helperName in l.helpers) f = s(u.contextName, p), d += "r += (Template7.helpers." + u.helperName +
									").call(" + p + ", " + (f && f + ", ") + "{hash:" + JSON.stringify(u.hash) + ", data: data || {}, fn: " + t(u,
										a + 1) + ", inverse: " + r(u, a + 1) + ", root: root});";
								else {
									if (u.contextName.length > 0) throw new Error('Template7: Missing helper: "' + u.helperName + '"');
									m = i(u.helperName, p), d += "if (" + m + ") {", d += "if (isArray(" + m + ")) {", d +=
										"r += (Template7.helpers.each).call(" + p + ", " + m + ", {hash:" + JSON.stringify(u.hash) +
										", data: data || {}, fn: " + t(u, a + 1) + ", inverse: " + r(u, a + 1) + ", root: root});", d += "}else {",
										d += "r += (Template7.helpers.with).call(" + p + ", " + m + ", {hash:" + JSON.stringify(u.hash) +
										", data: data || {}, fn: " + t(u, a + 1) + ", inverse: " + r(u, a + 1) + ", root: root});", d += "}}"
								}
						} else d += "r +='" + u.content.replace(/\r/g, "\\r").replace(/\n/g, "\\n").replace(/'/g, "\\'") + "';"
					}
					return d += "\nreturn r;})", eval.call(window, d)
				}
				var l = this;
				l.template = e, l.compile = function(e) {
					return l.compiled || (l.compiled = o(e)), l.compiled
				}
			};
		o.prototype = {
			options: {},
			partials: {},
			helpers: {
				_partial: function(e, a) {
					var t = o.prototype.partials[e];
					if (!t || t && !t.template) return "";
					t.compiled || (t.compiled = new o(t.template).compile());
					var r = this;
					for (var n in a.hash) r[n] = a.hash[n];
					return t.compiled(r, a.data, a.root)
				},
				escape: function(e, a) {
					if ("string" != typeof e) throw new Error('Template7: Passed context to "escape" helper should be a string');
					return t(e)
				},
				if: function(e, t) {
					return a(e) && (e = e.call(this)), e ? t.fn(this, t.data) : t.inverse(this, t.data)
				},
				unless: function(e, t) {
					return a(e) && (e = e.call(this)), e ? t.inverse(this, t.data) : t.fn(this, t.data)
				},
				each: function(t, r) {
					var n = "",
						i = 0;
					if (a(t) && (t = t.call(this)), e(t)) {
						for (r.hash.reverse && (t = t.reverse()), i = 0; i < t.length; i++) n += r.fn(t[i], {
							first: 0 === i,
							last: i === t.length - 1,
							index: i
						});
						r.hash.reverse && (t = t.reverse())
					} else
						for (var s in t) i++, n += r.fn(t[s], {
							key: s
						});
					return i > 0 ? n : r.inverse(this)
				},
				with: function(e, t) {
					return a(e) && (e = e.call(this)), t.fn(e)
				},
				join: function(e, t) {
					return a(e) && (e = e.call(this)), e.join(t.hash.delimiter || t.hash.delimeter)
				},
				js: function(e, a) {
					var t;
					return t = e.indexOf("return") >= 0 ? "(function(){" + e + "})" : "(function(){return (" + e + ")})", eval.call(
						this, t).call(this)
				},
				js_compare: function(e, a) {
					var t;
					return t = e.indexOf("return") >= 0 ? "(function(){" + e + "})" : "(function(){return (" + e + ")})", eval.call(
						this, t).call(this) ? a.fn(this, a.data) : a.inverse(this, a.data)
				}
			}
		};
		var l = function(e, a) {
			if (2 === arguments.length) {
				var t = new o(e),
					r = t.compile()(a);
				return t = null, r
			}
			return new o(e)
		};
		return l.registerHelper = function(e, a) {
			o.prototype.helpers[e] = a
		}, l.unregisterHelper = function(e) {
			o.prototype.helpers[e] = void 0, delete o.prototype.helpers[e]
		}, l.registerPartial = function(e, a) {
			o.prototype.partials[e] = {
				template: a
			}
		}, l.unregisterPartial = function(e, a) {
			o.prototype.partials[e] && (o.prototype.partials[e] = void 0, delete o.prototype.partials[e])
		}, l.compile = function(e, a) {
			return new o(e, a).compile()
		}, l.options = o.prototype.options, l.helpers = o.prototype.helpers, l.partials = o.prototype.partials, l
	}()
}();
ExView_Icons = [{
	name: "i.icon.icon-form-name",
	svg: '<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M12 5.9c1.16 0 2.1.94 2.1 2.1s-.94 2.1-2.1 2.1S9.9 9.16 9.9 8s.94-2.1 2.1-2.1m0 9c2.97 0 6.1 1.46 6.1 2.1v1.1H5.9V17c0-.64 3.13-2.1 6.1-2.1M12 4C9.79 4 8 5.79 8 8s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 9c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-8-4z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg>',
	fill: "#000000",
	inverfill: "#ffffff",
	css: {
		width: 24,
		height: 24
	}
}, {
	name: "i.icon.icon-form-password",
	svg: '<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"></path><path d="M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6-5.1c1.71 0 3.1 1.39 3.1 3.1v2H9V6h-.1c0-1.71 1.39-3.1 3.1-3.1zM18 20H6V10h12v10zm-6-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z"></path></svg>',
	fill: "#000000",
	inverfill: "#ffffff",
	css: {
		width: 24,
		height: 24
	}
}, {
	name: "i.icon.icon-form-email",
	svg: '<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg>',
	fill: "#000000",
	inverfill: "#ffffff",
	css: {
		width: 24,
		height: 24
	}
}, {
	name: "i.icon.icon-form-calendar",
	svg: '<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg>',
	fill: "#000000",
	inverfill: "#ffffff",
	css: {
		width: 24,
		height: 24
	}
}, {
	name: "i.icon.icon-form-tel",
	svg: '<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"></path><path d="M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z"></path></svg>',
	fill: "#000000",
	inverfill: "#ffffff",
	css: {
		width: 24,
		height: 24
	}
}, {
	name: "i.icon.icon-form-gender",
	svg: '<svg fill="#000000" xmlns="http://www.w3.org/2000/svg" width="24px" height="24px" viewBox="0 0 24 24"><path d="M20,1.5h-4v2h2.6l-2.1,2.1c-1-0.7-2.2-1.1-3.5-1.1s-2.6,0.4-3.6,1.2C8.9,5.6,8.5,5.5,8,5.5c-3.3,0-6,2.7-6,6\tc0,3,2.2,5.4,5,5.9v1.1H3v2h4v2h2v-2h4v-2H9v-1.1c0.9-0.2,1.8-0.5,2.6-1.1c0.5,0.1,0.9,0.2,1.4,0.2c3.3,0,6-2.7,6-6\tC19,9.2,18.6,8,17.9,7L20,4.9v2.6h2v-4v-2H20z M11.1,14C9.9,13.3,9,12,9,10.5C9,9.6,9.3,8.7,9.9,8c1.2,0.7,2.1,2,2.1,3.5\tC12,12.4,11.7,13.3,11.1,14z M8,15.5c-2.2,0-4-1.8-4-4c0-2.1,1.7-3.9,3.8-4C7.3,8.4,7,9.4,7,10.5c0,1.9,0.9,3.7,2.3,4.8\tC8.9,15.4,8.5,15.5,8,15.5z M13.2,14.5c0.5-0.9,0.8-1.9,0.8-3c0-1.9-0.9-3.7-2.3-4.8c0.4-0.2,0.9-0.2,1.3-0.2c2.2,0,4,1.8,4,4\tC17,12.6,15.3,14.4,13.2,14.5z"></path></svg>',
	fill: "#000000",
	inverfill: "#ffffff",
	css: {
		width: 24,
		height: 24
	}
}, {
	name: "i.icon.icon-form-toggle",
	svg: '<svg fill="#000000" xmlns="http://www.w3.org/2000/svg" width="24px" height="24px" viewBox="0 0 24 24"><path d="M20,9h-6c-0.9-1.2-2.3-2-4-2S6.9,7.8,6,9H4c-1.7,0-3,1.3-3,3s1.3,3,3,3h2c0.9,1.2,2.3,2,4,2s3.1-0.8,4-2h6c1.7,0,3-1.3,3-3\tS21.7,9,20,9z M4,13c-0.6,0-1-0.4-1-1s0.4-1,1-1h1.1C5,11.3,5,11.7,5,12s0,0.7,0.1,1H4z M20,13h-5.1c0.1-0.3,0.1-0.7,0.1-1\ts0-0.7-0.1-1H20c0.6,0,1,0.4,1,1S20.6,13,20,13z"></path></svg>',
	fill: "#000000",
	inverfill: "#ffffff",
	css: {
		width: 24,
		height: 24
	}
}, {
	name: "i.icon.icon-form-comment",
	svg: '<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0V0z" fill="none"></path><path d="M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H6l-2 2V4h16v12z"></path></svg>',
	fill: "#000000",
	inverfill: "#ffffff",
	css: {
		width: 24,
		height: 24
	}
}, {
	name: "i.icon.icon-form-settings",
	svg: '<svg fill="#000000" xmlns="http://www.w3.org/2000/svg" width="24px" height="24px" viewBox="0 0 24 24"><g>\t<path d="M11.8,5C11.4,3.8,10.3,3,9,3S6.6,3.8,6.2,5H2v2h4.2C6.6,8.2,7.7,9,9,9s2.4-0.8,2.8-2H22V5H11.8z"></path>\t<path d="M15,9c-1.3,0-2.4,0.8-2.8,2H2v2h10.2c0.4,1.2,1.5,2,2.8,2s2.4-0.8,2.8-2H22v-2h-4.2C17.4,9.8,16.3,9,15,9z"></path>\t<path d="M11,15c-1.3,0-2.4,0.8-2.8,2H2v2h6.2c0.4,1.2,1.5,2,2.8,2s2.4-0.8,2.8-2H22v-2h-8.2C13.4,15.8,12.3,15,11,15z"></path></g></svg>',
	fill: "#000000",
	inverfill: "#ffffff",
	css: {
		width: 24,
		height: 24
	}
}, {
	name: "i.icon.icon-form-url",
	svg: '<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"></path><path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zm6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56zM12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96zM4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2 0 .68.06 1.34.14 2H4.26zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56zm2.95-8H5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8zM12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96zM14.34 14H9.66c-.09-.66-.16-1.32-.16-2 0-.68.07-1.35.16-2h4.68c.09.65.16 1.32.16 2 0 .68-.07 1.34-.16 2zm.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56zM16.36 14c.08-.66.14-1.32.14-2 0-.68-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2h-3.38z"></path></svg>',
	fill: "#000000",
	inverfill: "#ffffff",
	css: {
		width: 24,
		height: 24
	}
}, {
	name: "i.icon.icon-cancle",
	svg: '<svg fill="#000000" height="32" viewBox="0 0 32 32" width="32" xmlns="http://www.w3.org/2000/svg"><path d="M16,4C9.373,4,4,9.373,4,16c0,6.627,5.373,12,12,12s12-5.373,12-12C28,9.373,22.627,4,16,4z   M16,6c2.398,0,4.6,0.85,6.324,2.262L8.262,22.324C6.85,20.6,6,18.398,6,16C6,10.486,10.486,6,16,6z M16,26  c-2.398,0-4.6-0.85-6.324-2.262L23.738,9.676C25.15,11.4,26,13.602,26,16C26,21.514,21.514,26,16,26z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg>',
	fill: "#000000",
	inverfill: "#ffffff",
	css: {
		width: 24,
		height: 36
	}
}, {
	name: "i.icon.icon-content",
	svg: '<svg fill="#000000" height="32" viewBox="0 0 32 32" width="32" xmlns="http://www.w3.org/2000/svg"><path d="M4,10h6V4H4V10z M6,6h2v2H6V6z M28,6v2H14V6H28z M4,19h6v-6H4V19z M6,15h2v2H6V15z M14,15h14v2H14  V15z M4,28h6v-6H4V28z M6,24h2v2H6V24z M14,24h14v2H14V24z"></path></svg>',
	fill: "#000000",
	inverfill: "#ffffff",
	css: {
		width: 24,
		height: 36
	}
}, {
	name: "i.icon.icon-comment",
	svg: '<svg fill="#000000" height="32" viewBox="0 0 32 32" width="32" xmlns="http://www.w3.org/2000/svg"><path d="M4,24h5l5,5v-5h7V10H4V24z M6,12h13v10h-7v2.172L9.828,22H6V12z M28,4v14h-3l-3,3v-2.828  L24.172,16H26V6H13v3h-2V4H28z"></path></svg>',
	fill: "#000000",
	inverfill: "#ffffff",
	css: {
		width: 24,
		height: 36
	}
}, {
	name: "i.icon.icon-brower",
	svg: '<svg fill="#000000" height="32" viewBox="0 0 32 32" width="32" xmlns="http://www.w3.org/2000/svg"><path d="M2,4v24h28V4H2z M28,6v4H4V6H28z M4,26V12h24v14H4z M7,9H5V7h2V9z M10,9H8V7h2V9z M13,9  h-2V7h2V9z M11,16h10v2H11V16z M11,20h10v2H11V20z"></path></svg>',
	fill: "#000000",
	inverfill: "#ffffff",
	css: {
		width: 24,
		height: 36
	}
}, {
	name: "i.icon.icon-save",
	svg: '<svg fill="#000000" height="32" viewBox="0 0 32 32" width="32" xmlns="http://www.w3.org/2000/svg"><path d="M4,4v24h24V4H4z M10,6h12v7H10V6z M26,26H6V6h2v9h16V6h2V26z M18,7h3v5h-3V7z"></path></svg>',
	fill: "#000000",
	inverfill: "#ffffff",
	css: {
		width: 24,
		height: 24
	}
}, {
	name: "i.icon.icon-love",
	svg: '<svg fill="#000000" height="32" viewBox="0 0 32 32" width="32" xmlns="http://www.w3.org/2000/svg"><path d="M28,13L16,25L4,13l6-6l6,6.173L22,7L28,13z"></path></svg>',
	fill: "#000000",
	inverfill: "#ffffff",
	css: {
		width: 24,
		height: 36
	}
}, {
	name: "i.icon.icon-check",
	svg: '<svg fill="#000000" height="32" viewBox="0 0 32 32" width="32" xmlns="http://www.w3.org/2000/svg"><path d="M16,4C9.373,4,4,9.373,4,16c0,6.627,5.373,12,12,12s12-5.373,12-12C28,9.373,22.627,4,16,4z M16,26  c-5.514,0-10-4.486-10-10c0-5.514,4.486-10,10-10s10,4.486,10,10C26,21.514,21.514,26,16,26z M23.429,12.172l-9.777,9.777  l-5.08-5.08l1.414-1.414l3.666,3.666l8.363-8.363L23.429,12.172z"></path></svg>',
	fill: "#000000",
	inverfill: "#ffffff",
	css: {
		width: 26,
		height: 26
	}
}, {
	name: "i.icon.icon-view",
	svg: '<svg fill="#000000" height="32" viewBox="0 0 32 32" width="32" xmlns="http://www.w3.org/2000/svg"><path d="M19,4h-6V2h6V4z M3,20v2h12v3h-1l-1,2h6l-1-2h-1v-3h12v-2H3z M10,30h12v-2H10V30z M28,19H4V3h8v2  h8V3h8V19z M20,13h-8v1h8V13z M20,11h-8v1h8V11z M20,9h-8v1h8V9z"></path></svg>',
	fill: "#000000",
	inverfill: "#ffffff",
	css: {
		width: 24,
		height: 24
	}
}, {
	name: "i.icon.icon-sync",
	svg: '<svg fill="#000000" height="32" viewBox="0 0 32 32" width="32" xmlns="http://www.w3.org/2000/svg"><path d="M4,12h16v16H4V12z M12,4v4h12v12h4V4H12z"></path></svg>',
	fill: "#000000",
	inverfill: "#ffffff",
	css: {
		width: 24,
		height: 24
	}
}, {
	name: "i.icon.icon-refresh",
	svg: '<svg fill="#000000" height="32" viewBox="0 0 32 32" width="32" xmlns="http://www.w3.org/2000/svg"><path d="M16,4v2c5.514,0,10,4.486,10,10s-4.486,10-10,10S6,21.514,6,16c0-3.594,1.937-6.866,5-8.64V11h2  V4H6v2h3.375C6.059,8.199,4,11.933,4,16c0,6.617,5.383,12,12,12s12-5.383,12-12S22.617,4,16,4z"></path></svg>',
	fill: "#000000",
	inverfill: "#ffffff",
	css: {
		width: 24,
		height: 24
	}
}, {
	name: "i.icon.icon-fullscreen",
	svg: '<svg fill="#000000" height="32" viewBox="0 0 32 32" width="32" xmlns="http://www.w3.org/2000/svg"><path d="M7,25h4v2H5v-6h2V25z M7,7h4V5H5v6h2V7z M21,5v2h4v4h2V5H21z M25,25h-4v2h6v-6h-2V25z M8,8h16\tv16H8V8z M10,22h12V10H10V22z"></path></svg>',
	fill: "#000000",
	inverfill: "#ffffff",
	css: {
		width: 26,
		height: 26
	}
}, {
	name: "i.icon.icon-download",
	svg: '<svg fill="#000000" height="32" viewBox="0 0 32 32" width="32" xmlns="http://www.w3.org/2000/svg"><path d="M16,15.414l-4.707-4.707l1.414-1.414L15,11.586V4h2v7.586l2.293-2.293l1.414,1.414L16,15.414zM26,22v4H6v-4H4v6h24v-6H26z M24,22H8v2h16V22z M24,18H8v2h16V18z"></path></svg>',
	fill: "#000000",
	inverfill: "#ffffff",
	css: {
		width: 24,
		height: 24
	}
}, {
	name: "i.icon.icon-search-next",
	svg: '<svg xmlns="http://www.w3.org/2000/svg" fill="#ffffff" width="24" height="24" viewBox="0 0 24 24"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg>',
	fill: "#ffffff",
	inverfill: "#000000",
	css: {
		width: 30,
		height: 24
	}
}, {
	name: "i.icon.icon-reduce",
	svg: '<svg fill="#FFFFFF" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M19 13h-6v6h-0v-6H5v-2h13V5h0v6h0v2z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg>',
	fill: "#FFFFFF",
	inverfill: "#000000",
	css: {
		width: 24,
		height: 24
	}
}, {
	name: "i.icon.icon-search",
	svg: '<svg fill="#FFFFFF" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg>',
	fill: "#FFFFFF",
	inverfill: "#000000",
	css: {
		width: 24,
		height: 24
	}
}, {
	name: "i.icon.icon-flag",
	svg: '<svg fill="#000000" height="32" viewBox="0 0 32 32" width="32" xmlns="http://www.w3.org/2000/svg"><path d="M9,4v24l7-6l7,6V4H9z M21,23.652l-5-4.286l-5,4.286V6h10V23.652z"></path></svg>',
	fill: "#000000",
	inverfill: "#ffffff",
	css: {
		width: 24,
		height: 24
	}
}, {
	name: "i.icon.icon-home",
	svg: '<svg fill="#000000" height="32" viewBox="0 0 32 32" width="32" xmlns="http://www.w3.org/2000/svg"><path d="M29.387,12.723l-1.109,1.664L16,6.202L3.723,14.387l-1.109-1.664L6,10.465V5h4v2.798l6-4  L29.387,12.723z M6,14.07V29h7v-8h6v8h7V14.07L16,7.404L6,14.07z"></path></svg>',
	fill: "#000000",
	inverfill: "#ffffff",
	css: {
		width: 24,
		height: 24
	}
}, {
	name: "i.icon.icon-exit",
	svg: '<svg fill="#000000" height="32" viewBox="0 0 32 32" width="32" xmlns="http://www.w3.org/2000/svg"><path d="M18,14h-4V2h4V14z M19,4.363v4.162c3.49,1.239,6,4.565,6,8.475c0,4.963-4.037,9-9,9s-9-4.037-9-9  c0-3.91,2.51-7.236,6-8.475V4.363C7.276,5.723,3,10.866,3,17c0,7.168,5.832,13,13,13s13-5.832,13-13  C29,10.866,24.724,5.723,19,4.363z"></path></svg>',
	fill: "#000000",
	inverfill: "#ffffff",
	css: {
		width: 24,
		height: 24
	}
}, {
	name: "i.ks-icon-upload",
	svg: '<svg fill="#FFFFFF" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"></path><path d="M9 16h6v-6h4l-7-7-7 7h4zm-4 2h14v2H5z"></path></svg>',
	fill: "#FFFFFF",
	inverfill: "#000000",
	css: {
		width: 24,
		height: 24
	}
}, {
	name: "i.ks-icon-more",
	svg: '<svg fill="#FFFFFF" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h24v24H0z" fill="none"></path><path d="M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"></path></svg>',
	fill: "#FFFFFF",
	inverfill: "#000000",
	css: {
		width: 10,
		height: 24,
		"background-size": "24px auto"
	}
}, {
	name: "i.icon.icon-next",
	svg: '<svg xmlns="http://www.w3.org/2000/svg" fill="#ffffff" width="24" height="24" viewBox="0 0 24 24"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg>',
	fill: "#ffffff",
	inverfill: "#000000",
	css: {}
}, {
	name: "i.icon.icon-prev",
	svg: '<svg xmlns="http://www.w3.org/2000/svg" fill="#ffffff" width="24" height="24" viewBox="0 0 24 24"><path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg>',
	fill: "#ffffff",
	inverfill: "#000000",
	css: {}
}, {
	name: "i.icon.icon-plus",
	svg: '<svg fill="#FFFFFF" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg>',
	fill: "#FFFFFF",
	inverfill: "#000000",
	css: {
		width: 24,
		height: 24,
		"font-size": 0
	}
}, {
	name: "i.icon.icon-close",
	svg: '<svg fill="#FFFFFF" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg>',
	fill: "#FFFFFF",
	inverfill: "#000000",
	css: {
		width: 24,
		height: 24,
		"font-size": 0
	}
}, {
	name: "i.icon.icon-back",
	svg: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" fill="#ffffff"></path></svg>',
	fill: "#ffffff",
	inverfill: "#000000",
	css: {
		width: 24,
		height: 24
	}
}, {
	name: "i.icon.icon-forward",
	svg: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z" fill="#ffffff"></path></svg>',
	fill: "#ffffff",
	inverfill: "#000000",
	css: {
		width: 24,
		height: 24
	}
}, {
	name: "i.icon.icon-bars",
	svg: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" fill="#ffffff"></path></svg>',
	fill: "#ffffff",
	inverfill: "#000000",
	css: {
		width: 24,
		height: 24
	}
}, {
	name: "i.icon.icon-camera",
	svg: '<svg fill="#333" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="3.2"></circle><path d="M9 2L7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2H9zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg>',
	fill: "#333",
	inverfill: "#fff",
	css: {
		width: 24,
		height: 24
	}
}];
ExView_QWI =
	'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';
ExView_QZI =
	'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';
